On 3/15/21 11:11 AM, Mark Dilger wrote:
On Mar 2, 2021, at 6:08 AM, Pavel Borisov <pashkin.e...@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
da...@pgmasters.net