Teach verify_heapam() to validate update chains within a page.

Prior to this commit, we only consider each tuple or line pointer
on the page in isolation, but now we can do some validation of a line
pointer against its successor. For example, a redirect line pointer
shouldn't point to another redirect line pointer, and if a tuple
is HOT-updated, the result should be a heap-only tuple.

Himanshu Upadhyaya and Robert Haas, reviewed by Aleksander Alekseev,
Andres Freund, and Peter Geoghegan.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bbc1376b39627c6bddd8a0dc0a7dda24c91a97a0

Modified Files
--------------
contrib/amcheck/verify_heapam.c           | 291 +++++++++++++++++++++++++++++-
src/bin/pg_amcheck/t/004_verify_heapam.pl | 250 +++++++++++++++++++++++--
2 files changed, 524 insertions(+), 17 deletions(-)

Reply via email to