Remove overzealous _bt_killitems assertion. master github/master
authorPeter Geoghegan <pg@bowt.ie>
Fri, 10 Oct 2025 18:52:25 +0000 (14:52 -0400)
committerPeter Geoghegan <pg@bowt.ie>
Fri, 10 Oct 2025 18:52:25 +0000 (14:52 -0400)
commit843e50208a31b9e17e9ab530c93a158425cfb8ba
tree4762b1fac678b8848ca4045f0aaffb1902c0d903
parent3a36543d7d08eef6496fe3511f4cf04cba14f572
Remove overzealous _bt_killitems assertion.

An assertion in _bt_killitems expected the scan's currPos state to
contain a valid LSN, saved from when currPos's page was initially read.
The assertion failed to account for the fact that even logged relations
can have leaf pages with an invalid LSN when built with wal_level set to
"minimal".  Remove the faulty assertion.

Oversight in commit e6eed40e (though note that the assertion was
backpatched to stable branches before 18 by commit 7c319f54).

Author: Peter Geoghegan <pg@bowt.ie>
Reported-By: Matthijs van der Vleuten <postgresql@zr40.nl>
Bug: #19082
Discussion: https://postgr.es/m/19082-628e62160dbbc1c1@postgresql.org
Backpatch-through: 13
src/backend/access/nbtree/nbtutils.c