Re: Identifying user-created objects
От | Masahiko Sawada |
---|---|
Тема | Re: Identifying user-created objects |
Дата | |
Msg-id | CA+fd4k6b_xiXYwc_a9+WPHFw4RhHpf4KHkcM3iG4L+uD1buw+Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Identifying user-created objects (Masahiko Sawada <masahiko.sawada@2ndquadrant.com>) |
Ответы |
Re: Identifying user-created objects
|
Список | pgsql-hackers |
On Thu, 6 Feb 2020 at 17:18, Masahiko Sawada <masahiko.sawada@2ndquadrant.com> wrote: > > On Thu, 6 Feb 2020 at 16:53, Amit Langote <amitlangote09@gmail.com> wrote: > > > > 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? > > Yeah I thought of these three values but I'm also not sure it's worth for users. > > If we have these functions returning the values respectively, when we > want to check if an oid is assigned during initdb we will end up with > doing something like 'WHERE oid >= pg_first_bootstrap_oid() and oid < > pg_first_normal_oid()', which is not intuitive, I think. Users have to > remember the order of these values. > Attached the updated version patch that includes regression tests. And I have registered this to the next commit fest. Regards, -- Masahiko Sawada http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Вложения
В списке pgsql-hackers по дате отправления: