| From: | Andrey Borodin <amborodin86(at)gmail(dot)com> | 
|---|---|
| To: | Jose Arthur Benetasso Villanova <jose(dot)arthur(at)gmail(dot)com> | 
| Cc: | Andres Freund <andres(at)anarazel(dot)de>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> | 
| Subject: | Re: Amcheck verification of GiST and GIN | 
| Date: | 2022-11-28 01:07:40 | 
| Message-ID: | CAAhFRxj5+7+38LeQe3v9EaQzXFDnu_p_PVrrOMg4fSPEy3CNDA@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Sun, Nov 27, 2022 at 1:29 PM Andrey Borodin <amborodin86(at)gmail(dot)com> wrote:
>
> GiST verification checks only one invariant that can be verified if
> page locks acquired the same way as page split does.
> GIN does not require ShareLock because it does not check cross-level invariants.
>
I was wrong. GIN check does similar gin_refind_parent() to lock pages
in bottom-up manner and truly verify downlink-child_page invariant.
Here's v17. The only difference is that I added progress reporting to
GiST verification.
I still did not implement heapallindexed for GIN. Existence of pending
lists makes this just too difficult for a weekend coding project :(
Thank you!
Best regards, Andrey Borodin.
| Attachment | Content-Type | Size | 
|---|---|---|
| v17-0002-Add-gist_index_parent_check-function-to-verify-G.patch | application/octet-stream | 26.8 KB | 
| v17-0003-Add-gin_index_parent_check-to-verify-GIN-index.patch | application/octet-stream | 32.6 KB | 
| v17-0001-Refactor-amcheck-to-extract-common-locking-routi.patch | application/octet-stream | 28.3 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2022-11-28 01:08:36 | Re: Allow file inclusion in pg_hba and pg_ident files | 
| Previous Message | David Rowley | 2022-11-28 00:23:16 | Re: Bug in row_number() optimization |