mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-30 18:17:18 +02:00
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 commit4228817449
. The assertion can probably only fail on Postgres 14 and master. Earlier releases don't have commit3c3b8a4b
, 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 commit4228817449
.
This commit is contained in:
parent
f230614da2
commit
cd35d3909b
@ -7134,10 +7134,7 @@ heap_compute_xid_horizon_for_tuples(Relation rel,
|
|||||||
|
|
||||||
/* Some sanity checks */
|
/* Some sanity checks */
|
||||||
if (offnum < FirstOffsetNumber || offnum > maxoff)
|
if (offnum < FirstOffsetNumber || offnum > maxoff)
|
||||||
{
|
|
||||||
Assert(false);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
lp = PageGetItemId(page, offnum);
|
lp = PageGetItemId(page, offnum);
|
||||||
if (ItemIdIsRedirected(lp))
|
if (ItemIdIsRedirected(lp))
|
||||||
|
Loading…
Reference in New Issue
Block a user