Skip to content

Commit 5e6716c

Browse files
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 4228817. The assertion can probably only fail on Postgres 14 and master. Earlier releases don't have commit 3c3b8a4, 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 4228817.
1 parent 6b95016 commit 5e6716c

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

src/backend/access/heap/heapam.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7485,10 +7485,7 @@ heap_index_delete_tuples(Relation rel, TM_IndexDeleteOp *delstate)
74857485

74867486
/* Some sanity checks */
74877487
if (offnum < FirstOffsetNumber || offnum > maxoff)
7488-
{
7489-
Assert(false);
74907488
break;
7491-
}
74927489

74937490
lp = PageGetItemId(page, offnum);
74947491
if (ItemIdIsRedirected(lp))

0 commit comments

Comments
 (0)