Remove overzealous index deletion assertion.
authorPeter Geoghegan <pg@bowt.ie>
Mon, 20 Sep 2021 21:26:25 +0000 (14:26 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Mon, 20 Sep 2021 21:26:25 +0000 (14:26 -0700)
commit5e6716cde5749aea506dd3f30b099b6e9b4c5af8
tree97a2a3af71e5cb60ca717540a86d166004850f3d
parent6b9501660c9384476ca9a04918f5cf94379e419e
Remove overzealous index deletion assertion.

A broken HOT chain is not an unexpected condition, even when the offset
number points past the end of the page's line pointer array.
heap_prune_chain() does not (and never has) treated this condition as
unexpected, so derivative code in heap_index_delete_tuples() shouldn't
do so either.

Oversight in commit 4228817449.

The assertion can probably only fail on Postgres 14 and master.  Earlier
releases don't have commit 3c3b8a4b, which taught VACUUM to truncate the
line pointer array of heap pages.  Backpatch all the same, just to be
consistent.

Author: Peter Geoghegan <pg@bowt.ie>
Reported-By: Alexander Lakhin <exclusion@gmail.com>
Discussion: https://postgr.es/m/17197-9438f31f46705182@postgresql.org
Backpatch: 12-, just like commit 4228817449.
src/backend/access/heap/heapam.c