Hi, On 4/15/21 4:03 PM, Rushabh Lathia wrote: > Hi, > > Commit mentioned in the $subject changed the FirstBootstrapObjectId > (transam.h) from 12000 to 13000. I was trying to understand the reason > behind this change, but was not able to gather that information. Also didn't > find anything in the commit message either. > > Can you please explain those changes? Is it accidental or intentional? >
Yeah, it's an intentional change - I should have mentioned it explicitly in the thread, probably. We're assigning OIDs to catalog entries, at different phases, and each phase has a range or OIDs to ensure the values are unique. The first phase is genkbi.pl which transforms the .dat files, assigns OIDs in the [FirstGenbkiObjectId, FirstBootstrapObjectId) range. However, patches are adding new stuff to the .dat files, so we may hit the upper limit. The minmax patch happened to add enough new entries to hit it, i.e. the genbki.pl needed OIDs above FirstBootstrapObjectId and the compilation would fail. Try lowering the value back to 12000 and run run "make check" again - it'll fail. The limits are mostly arbitrary, the primary purpose is to ensure the OIDs are unique etc. So the patch simply added 1000 values to the genbki range, to fix this. Not sure what'll happen once we fill all those ranges, but we're quite far from that, I think. It took us ~20 years to get 2000 OIDs in the genbki range, and the bootstrap has ~1000 OIDs. So we've used only about half the values between 10k and 16k, so far ... regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company