mirror of
https://github.com/postgres/postgres.git
synced 2025-10-22 14:32:25 +03:00
Create a separate oid range for oids assigned by genbki.pl.
The changes I made in 578b229718
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
This commit is contained in:
@@ -71,18 +71,21 @@
|
||||
/* ----------
|
||||
* Object ID (OID) zero is InvalidOid.
|
||||
*
|
||||
* OIDs 1-9999 are reserved for manual assignment (see the files
|
||||
* in src/include/catalog/).
|
||||
* OIDs 1-9999 are reserved for manual assignment (see .dat files in
|
||||
* src/include/catalog/), with 9000-9999 tentatively reserved for forks.
|
||||
*
|
||||
* OIDS 10000-16383 are reserved for assignment during initdb
|
||||
* using the OID generator. (We start the generator at 10000.)
|
||||
* OIDs 10000-12000 are reserved for assignment by genbki.pl, when the
|
||||
* .dat files in src/include/catalog/ do not specify oids.
|
||||
*
|
||||
* OIDS 12000-16383 are reserved for assignment during initdb
|
||||
* using the OID generator. (We start the generator at 12000.)
|
||||
*
|
||||
* OIDs beginning at 16384 are assigned from the OID generator
|
||||
* during normal multiuser operation. (We force the generator up to
|
||||
* 16384 as soon as we are in normal operation.)
|
||||
*
|
||||
* The choices of 10000 and 16384 are completely arbitrary, and can be moved
|
||||
* if we run low on OIDs in either category. Changing the macros below
|
||||
* The choices of 10000, 12000 and 16384 are completely arbitrary, and can be
|
||||
* moved if we run low on OIDs in either category. Changing the macros below
|
||||
* should be sufficient to do this.
|
||||
*
|
||||
* NOTE: if the OID generator wraps around, we skip over OIDs 0-16383
|
||||
@@ -90,7 +93,8 @@
|
||||
* reassigning OIDs that might have been assigned during initdb.
|
||||
* ----------
|
||||
*/
|
||||
#define FirstBootstrapObjectId 10000
|
||||
#define FirstGenbkiObjectId 10000
|
||||
#define FirstBootstrapObjectId 12000
|
||||
#define FirstNormalObjectId 16384
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user