pgsql: Improve checking of child pages in contrib/amcheck.

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Improve checking of child pages in contrib/amcheck.
Date: 2020-03-11 09:01:18
Message-ID: E1jBxEs-0006Ek-9S@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Improve checking of child pages in contrib/amcheck.

This commit eliminates lossiness in check for missing parent downlinks in
B-tree. Instead of collecting lossy bitmap, we check for missing downlinks
while visiting child pages referenced by downlinks of target level. We
traverse from previous child page to the subsequent child page by right links.
Intermediate pages are candidates to have lost parent downlinks.

Also this commit introduces matching of child high key to the pivot key of
it's parent.

Discussion: https://postgr.es/m/CAPpHfduoF-c4RhOyOm%3D4-Y367%2B8txq9Q6iM_ty0OYc8si1Abww%40mail.gmail.com
Author: Alexander Korotkov
Reviewed-by: Peter Geoghegan

Branch
------
master

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

Modified Files
--------------
contrib/amcheck/verify_nbtree.c | 582 +++++++++++++++++++++++++++++++---------
doc/src/sgml/amcheck.sgml | 6 +-
2 files changed, 465 insertions(+), 123 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2020-03-11 10:24:55 pgsql: Remove HAVE_WORKING_LINK
Previous Message Peter Geoghegan 2020-03-11 01:04:40 pgsql: Remove stray parenthesis in nbtree.h.