Re: [PATCH] Improve amcheck to also check UNIQUE constraint in btree index.
Zhihong Yu <zyu@yugabyte.com>
From: Zhihong Yu <zyu@yugabyte.com>
To: Pavel Borisov <pashkin.elfe@gmail.com>
Cc: Mark Dilger <mark.dilger@enterprisedb.com>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-02-09T19:41:16Z
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
Hi, Minor comment: + if (errflag == true) + ereport(ERROR, I think 'if (errflag)' should suffice. Cheers On Tue, Feb 9, 2021 at 10:44 AM Pavel Borisov <pashkin.elfe@gmail.com> wrote: > вт, 9 февр. 2021 г. в 01:46, Mark Dilger <mark.dilger@enterprisedb.com>: > >> >> >> > On Feb 8, 2021, at 2:46 AM, Pavel Borisov <pashkin.elfe@gmail.com> >> wrote: >> > >> > 0002 - is a temporary hack for testing. It will allow inserting >> duplicates in a table even if an index with the exact name "idx" has a >> unique constraint (generally it is prohibited to insert). Then a new >> amcheck will tell us about these duplicates. It's pity but testing can not >> be done automatically, as it needs a core recompile. For testing I'd >> recommend a protocol similar to the following: >> > >> > - Apply patch 0002 >> > - Set autovaccum = off in postgresql.conf >> >> Thanks Pavel and Anastasia for working on this! >> >> Updating pg_catalog directly is ugly, but the following seems a simpler >> way to set up a regression test than having to recompile. What do you >> think? >> >> Very nice idea, thanks! > I've made a regression test based on it. PFA v.2 of a patch. Now it > doesn't need anything external for testing. > > -- > Best regards, > Pavel Borisov > > Postgres Professional: http://postgrespro.com <http://www.postgrespro.com> >