On Mon, Feb 10, 2020 at 2:23 PM Masahiko Sawada <masahiko.saw...@2ndquadrant.com> wrote: > On Mon, 10 Feb 2020 at 14:09, Michael Paquier <mich...@paquier.xyz> wrote: > > > > On Mon, Feb 10, 2020 at 01:16:30PM +0900, Amit Langote wrote: > > > On Mon, Feb 10, 2020 at 1:06 PM Masahiko Sawada > > > <masahiko.saw...@2ndquadrant.com> wrote: > > >> How about having it as a macro like: > > >> > > >> #define ObjectIdIsUserObject(oid) ((Oid)(oid) >= FirstNormalObjectId) > > > > > > I'm fine with a macro. > > > > I am not sure that it is worth having one extra abstraction layer for > > that. > > Hmm I'm not going to insist on that but I thought that it could > somewhat improve readability at places where they already compares an > oid to FirstNormalObjectId as Amit mentioned: > > src/backend/catalog/pg_publication.c: relid >= FirstNormalObjectId; > src/backend/utils/adt/json.c: if (typoid >= FirstNormalObjectId) > src/backend/utils/adt/jsonb.c: if (typoid >= FirstNormalObjectId)
Agree that ObjectIsUserObject(oid) is easier to read than oid >= FirstNormalObject. I would have not bothered, for example, if it was something like oid >= FirstUserObjectId to begin with. Thanks, Amit