> > 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 <http://www.postgrespro.com>
v4-0001-Make-amcheck-checking-UNIQUE-constraint-for-btree.patch
Description: Binary data