postgresql/src/backend/access
Noah Misch 25e99483c4 At update of non-LP_NORMAL TID, fail instead of corrupting page header.
The right mix of DDL and VACUUM could corrupt a catalog page header such
that PageIsVerified() durably fails, requiring a restore from backup.
This affects only catalogs that both have a syscache and have DDL code
that uses syscache tuples to construct updates.  One of the test
permutations shows a variant not yet fixed.

This makes !TransactionIdIsValid(TM_FailureData.xmax) possible with
TM_Deleted.  I think core and PGXN are indifferent to that.

Per bug #17821 from Alexander Lakhin.  Back-patch to v13 (all supported
versions).  The test case is v17+, since it uses INJECTION_POINT.

Discussion: https://postgr.es/m/17821-dd8c334263399284@postgresql.org
2025-01-25 11:28:19 -08:00
..
brin Fix potential integer overflow in bringetbitmap() 2025-01-14 15:13:19 +09:00
common doc: 1-byte varlena headers can be used for user PLAIN storage 2023-10-31 09:10:35 -04:00
gin Fix locking when fixing an incomplete split of a GIN internal page 2024-01-29 13:46:43 +02:00
gist Fix another bug in parent page splitting during GiST index build. 2023-09-26 14:15:28 +03:00
hash Allow _h_indexbuild() to be interrupted. 2024-09-13 16:16:47 -04:00
heap At update of non-LP_NORMAL TID, fail instead of corrupting page header. 2025-01-25 11:28:19 -08:00
index Unpin buffer before inplace update waits for an XID to end. 2024-10-29 09:39:59 -07:00
nbtree Fix btmarkpos/btrestrpos array key wraparound bug. 2023-09-28 16:29:29 -07:00
rmgrdesc Fix assert in logicalmsg_desc 2022-08-17 00:17:37 +02:00
spgist Fix insertion of SP-GiST REDIRECT tuples during REINDEX CONCURRENTLY. 2024-06-17 14:30:59 -04:00
table Replace RelationOpenSmgr() with RelationGetSmgr(). 2022-11-17 16:54:30 -05:00
tablesample Update copyright for 2021 2021-01-02 13:06:25 -05:00
transam Fix header check for continuation records where standbys could be stuck 2025-01-20 09:30:39 +09:00
Makefile Introduce access/{table.h, relation.h}, for generic functions from heapam.h. 2019-01-21 10:51:36 -08:00