Re: [HACKERS] A design for amcheck heapam verification
x4mmm@yandex-team.ru
From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Peter Geoghegan <pg@bowt.ie>
Cc: 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-23T14:13:09Z
Lists: pgsql-hackers
Hi! > 8 февр. 2018 г., в 22:45, Peter Geoghegan <pg@bowt.ie> написал(а): > > On Thu, Feb 8, 2018 at 6:05 AM, Andrey Borodin <x4mmm@yandex-team.ru> wrote: >> I do not see a reason behind hashing the seed. > > It made some sense when I was XOR'ing it to mix. A uniform > distribution of bits seemed desirable then, since random() won't use > the most significant bit -- it generates random numbers in the range > of 0 to 2^31-1. It does seem unnecessary now. > >> Also, I'd like to reformulate this paragraph. I understand what you want to say, but the sentence is incorrect. >> + * The Bloom filter behaves non-deterministically when caller passes a random >> + * seed value. This ensures that the same false positives will not occur from >> + * one run to the next, which is useful to some callers. >> Bloom filter behaves deterministically, but differently. This does not ensures any thing, but probably will give something with hight probability. > > I agree that that's unclear. I should probably cut it down, and say > something like "caller can pass a random seed to make it unlikely that > the same false positives will occur from one run to the next". I've just flipped patch to WoA. But if above issues will be fixed I think that patch is ready for committer. Best regards, Andrey Borodin.
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