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(-)