Re: [HACKERS] A design for amcheck heapam verification
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Andrey Borodin <x4mmm@yandex-team.ru>,
Michael Paquier <michael.paquier@gmail.com>, Thomas Munro <thomas.munro@enterprisedb.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-03-31T23:56:30Z
Lists: pgsql-hackers
Attachments
- v8-0002-Add-amcheck-verification-of-heap-relations.patch (text/x-patch) patch v8-0002
On Sat, Mar 31, 2018 at 3:15 PM, Peter Geoghegan <pg@bowt.ie> wrote: >> WFM. I have all the information I need to produce the next revision now. > > I might as well post this one first. I'll have 0002 for you in a short while. Attached is 0002 -- the amcheck enhancement itself. As requested by Andres, this adds a new overloaded set of functions, rather than dropping and recreating functions to change their signature. I'm pretty sure that avoiding issues with dependencies by using this approach is unprecedented, so I had to use my own judgement on how to deal with a couple of things. I decided not to create a new C symbol for the new function versions, preferring to leave it to the existing PG_NARGS() tests. I guess this was probably what you intended I should do, based on your "Given the PG_NARGS() checks..." remark. I also chose to not document the single argument functions in the docs. I suppose that we should consider these to be implementation details of a work-around for dependency breakage, something that doesn't need to be documented. That's a bit like how we don't document functions within certain extensions that are designed just to get called within a view definition. I don't feel strongly about it, though. No other changes to report. I did mention that this would have a few small changes yesterday; no need to repeat the details now. Thanks -- Peter Geoghegan
Commits
-
Fix non-portable use of round().
- 686d399f2be6 11.0 landed
-
Add amcheck verification of heap relations belonging to btree indexes.
- 7f563c09f890 11.0 landed
-
Add Bloom filter implementation.
- 51bc271790eb 11.0 landed
-
Use ereport not elog for some corrupt-HOT-chain reports.
- 8ecdc2ffe3da 11.0 cited
-
Introduce 64-bit hash functions with a 64-bit seed.
- 81c5e46c490e 11.0 cited
-
Upgrade src/port/rint.c to be POSIX-compliant.
- 06bf0dd6e354 9.5.0 cited
-
Use type "int64" for memory accounting in tuplesort.c/tuplestore.c.
- 79e0f87a1564 9.4.0 cited