Improve comment in GetNewObjectId().
The previous comment gave the impression that skipping OIDs before FirstNormalObjectId was merely an optimization to avoid likely collisions. In fact other parts of the system have been relying on this threshold to detect system-created objects since commit 8e18d04d4da, so adjust the wording. Author: Thomas Munro Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CAEepm%3D33JASACeOayr_W3%3DCSjy2jiPxM-k89axu0akFbHdjnjA%40mail.gmail.com
This commit is contained in:
parent
ab7dbd681c
commit
ca1e64feba
@ -476,11 +476,9 @@ GetNewObjectId(void)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Check for wraparound of the OID counter. We *must* not return 0
|
* Check for wraparound of the OID counter. We *must* not return 0
|
||||||
* (InvalidOid); and as long as we have to check that, it seems a good
|
* (InvalidOid), and in normal operation we mustn't return anything below
|
||||||
* idea to skip over everything below FirstNormalObjectId too. (This
|
* FirstNormalObjectId since that range is reserved for initdb (see
|
||||||
* basically just avoids lots of collisions with bootstrap-assigned OIDs
|
* IsCatalogClass()). Note we are relying on unsigned comparison.
|
||||||
* right after a wrap occurs, so as to avoid a possibly large number of
|
|
||||||
* iterations in GetNewOid.) Note we are relying on unsigned comparison.
|
|
||||||
*
|
*
|
||||||
* During initdb, we start the OID generator at FirstBootstrapObjectId, so
|
* During initdb, we start the OID generator at FirstBootstrapObjectId, so
|
||||||
* we only wrap if before that point when in bootstrap or standalone mode.
|
* we only wrap if before that point when in bootstrap or standalone mode.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user