Re: Identifying user-created objects

Поиск
Список
Период
Сортировка
От Amit Langote
Тема Re: Identifying user-created objects
Дата
Msg-id CA+HiwqEron+C8BVsjZmVWfH8PJBjauiObeqVoLK7MGQV=BOc+g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Identifying user-created objects  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: Identifying user-created objects  (Julien Rouhaud <rjuju123@gmail.com>)
Re: Identifying user-created objects  (Michael Paquier <michael@paquier.xyz>)
Re: Identifying user-created objects  (Masahiko Sawada <masahiko.sawada@2ndquadrant.com>)
Список pgsql-hackers
On Thu, Feb 6, 2020 at 4:31 PM Michael Paquier <michael@paquier.xyz> wrote:
> On Thu, Feb 06, 2020 at 04:25:47PM +0900, Amit Langote wrote:
> > About the implementation, how about defining a static inline function,
> > say is_user_object(), next to FirstNormalObjectId's definition and
> > make pg_is_user_object() call it?  There are a few placed in the
> > backend code that perform the same computation as pg_is_user_object(),
> > which could be changed to use is_user_object() instead.
>
> FWIW, if we bother adding SQL functions for that, my first impression
> was to have three functions, each one of them returning:
> - FirstNormalObjectId
> - FirstGenbkiObjectId
> - FirstNormalObjectId

Did you miss FirstBootstrapObjectId by any chance?

I see the following ranges as defined in transam.h.

1-(FirstGenbkiObjectId - 1): manually assigned OIDs
FirstGenbkiObjectId-(FirstBootstrapObjectId - 1): genbki.pl assigned OIDs
FirstBootstrapObjectId-(FirstNormalObjectId - 1): initdb requested
FirstNormalObjectId or greater: user-defined objects

Sawada-san's proposal covers #4.  Do we need an SQL function for the
first three?  IOW, would the distinction between OIDs belonging to the
first three ranges be of interest to anyone except core PG hackers?

Thanks,
Amit



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: SyncRepGetSyncStandbysPriority() vs. SIGHUP
Следующее
От: Julien Rouhaud
Дата:
Сообщение: Re: Identifying user-created objects