Create a separate oid range for oids assigned by genbki.pl

Enterprise / PostgreSQL - Andres Freund [anarazel.de] - 13 December 2018 22:50 EST

The changes I made in 578b229718e assigned oids below FirstBootstrapObjectId to objects in include/catalog/*.dat files that did not have an oid assigned, starting at the max oid explicitly assigned. Tom criticized that for mainly two reasons: 1) It's not clear which values are manually and which explicitly assigned. 2) The space below FirstBootstrapObjectId gets pretty crowded, and some PostgreSQL forks have used oids >= 9000 for their own objects, to avoid conflicting.

Thus create a new range for objects not assigned explicit oids, but assigned by genbki.pl. For now 1-9999 is for explicitly assigned oids, FirstGenbkiObjectId (10000) to FirstBootstrapObjectId (1200) -1 is for genbki.pl assigned oids, and < FirstNormalObjectId (16384) is for oids assigned during bootstrap. It's possible that we'll have to adjust these boundaries, but there's some headroom for now.

Add a note suggesting that oids in forks should be assigned in the 9000-9999 range.

Catversion bump for obvious reasons.

Per complaint from Tom Lane.

Author: Andres Freund Discussion: https://postgr.es/m/16845.1544393682@sss.pgh.pa.us

09568ec3d3 Create a separate oid range for oids assigned by genbki.pl.
contrib/postgres_fdw/shippable.c | 4 ++--
src/backend/catalog/Makefile | 4 +++-
src/backend/catalog/genbki.pl | 28 ++++++++++++++++++----------
src/backend/utils/Gen_fmgrtab.pl | 12 ++++++------
src/backend/utils/fmgr/fmgr.c | 2 +-
src/include/access/transam.h | 18 +++++++++++-------
src/include/catalog/unused_oids | 8 ++++----
src/include/utils/fmgrtab.h | 2 +-
src/tools/msvc/Solution.pm | 2 +-
9 files changed, 47 insertions(+), 33 deletions(-)

Upstream: git.postgresql.org


  • Share