On Thu, Mar 31, 2022 at 11:19 AM Peter Geoghegan <p...@bowt.ie> wrote: > The assert is "Assert(diff > 0)", and not "Assert(diff >= 0)".
Attached is v15. I plan to commit the first two patches (the most substantial two patches by far) in the next couple of days, barring objections. v15 removes this "Assert(diff > 0)" assertion from 0001. It's not adding any value, now that the underlying issue that it accidentally brought to light is well understood (there are still more robust assertions to the relfrozenxid/relminmxid invariants). "Assert(diff > 0)" is liable to fail until the underlying bug on HEAD is fixed, which can be treated as separate work. I also refined the WARNING patch in v15. It now actually issues WARNINGs (rather than PANICs, which were just a temporary debugging measure in v14). Also fixed a compiler warning in this patch, based on a complaint from CFBot's CompilerWarnings task. I can delay commiting this WARNING patch until right before feature freeze. Seems best to give others more opportunity for comments. -- Peter Geoghegan
v15-0003-Have-VACUUM-warn-on-relfrozenxid-from-the-future.patch
Description: Binary data
v15-0004-vacuumlazy.c-Move-resource-allocation-to-heap_va.patch
Description: Binary data
v15-0002-Generalize-how-VACUUM-skips-all-frozen-pages.patch
Description: Binary data
v15-0001-Set-relfrozenxid-to-oldest-extant-XID-seen-by-VA.patch
Description: Binary data