Hi hackers,
While contemplating plans to use new kinds of OIDs in buffer tags, I
noticed $SUBJECT. It says:
* 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
* idea to skip over everything below FirstNormalObjectId too. (This
* basically just avoids lots of collisions with bootstrap-assigned OIDs
* right after a wrap occurs, so as to avoid a possibly large number of
* iterations in GetNewOid.) Note we are relying on unsigned comparison.
That makes it sound like a mere optimisation, but since commit
8e18d04d4da user-created objects are not allowed to have OIDs below
that threshold. So I propose the attached tweak.
--
Thomas Munro
http://www.enterprisedb.com