Re: [PATCH] Improve amcheck to also check UNIQUE constraint in btree index.
David Steele <david@pgmasters.net>
From: David Steele <david@pgmasters.net>
To: Pavel Borisov <pashkin.elfe@gmail.com>
Cc: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>,
Postgres hackers <pgsql-hackers@lists.postgresql.org>,
Peter Geoghegan <pg@bowt.ie>, Mark Dilger <mark.dilger@enterprisedb.com>
Date: 2021-04-08T14:36:36Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
amcheck: Optimize speed of checking for unique constraint violation
- cdd6ab9d1f53 18.0 landed
-
amcheck: Report an error when the next page to a leaf is not a leaf
- 97e5b0026fc2 17.0 landed
-
amcheck: Don't load the right sibling page into BtreeCheckState
- 0b5c16124811 17.0 landed
-
amcheck: Refactoring the storage of the last visible entry
- 532d94fec32a 17.0 landed
-
Teach contrib/amcheck to check the unique constraint violation
- 5ae2087202af 17.0 landed
-
Add macros in hash and btree AMs to get the special area of their pages
- d16773cdc862 15.0 cited
On 3/15/21 11:11 AM, Mark Dilger wrote: > >> On Mar 2, 2021, at 6:08 AM, Pavel Borisov <pashkin.elfe@gmail.com> wrote: >> >> I completely agree that checking uniqueness requires looking at the heap, but I don't agree that every caller of bt_index_check on an index wants that particular check to be performed. There are multiple ways in which an index might be corrupt, and Peter wrote the code to only check some of them by default, with options to expand the checks to other things. This is why heapallindexed is optional. If you don't want to pay the price of checking all entries in the heap against the btree, you don't have to. >> >> I've got the idea and revised the patch accordingly. Thanks! >> Pfa v4 of a patch. I've added an optional argument to allow uniqueness checks for the unique indexes. >> Also, I added a test variant to make them work on 32-bit systems. Unfortunately, converting the regression test to TAP would be a pain for me. Hope it can be used now as a 2-variant regression test for 32 and 64 bit systems. >> >> Thank you for your consideration! >> >> -- >> Best regards, >> Pavel Borisov >> >> Postgres Professional: http://postgrespro.com >> <v4-0001-Make-amcheck-checking-UNIQUE-constraint-for-btree.patch> > > Looking over v4, here are my review comments... This patch appears to need some work and has not been updated in several weeks, so marking Returned with Feedback. Please submit to the next CF when you have a new patch. Regards, -- -David david@pgmasters.net