Skip to content

Commit bd9f4cf

Browse files
Demote pg_unreachable() in heapam to an assertion.
Commit d168b66, which overhauled index deletion, added a pg_unreachable() to the end of a sort comparator used when sorting heap TIDs from an index page. This allows the compiler to apply optimizations that assume that the heap TIDs from the index AM must always be unique. That doesn't seem like a good idea now, given recent reports of corruption involving duplicate TIDs in indexes on Postgres 14. Demote to an assertion, just in case. Backpatch: 14-, where index deletion was overhauled.
1 parent 0c8a40b commit bd9f4cf

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/access/heap/heapam.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7579,7 +7579,7 @@ index_delete_sort_cmp(TM_IndexDelete *deltid1, TM_IndexDelete *deltid2)
75797579
return (pos1 < pos2) ? -1 : 1;
75807580
}
75817581

7582-
pg_unreachable();
7582+
Assert(false);
75837583

75847584
return 0;
75857585
}

0 commit comments

Comments
 (0)