Re: amcheck verification for GiST

Поиск
Список
Период
Сортировка
Искать
От
Peter Geoghegan
Тема
Re: amcheck verification for GiST
Дата
Msg-id
CAH2-WznzhHKREeXs1RMFYes+Ao7aam5dPSmvS2Hto6WUcjEk4A@mail.gmail.com
Ответ на
Список
Дерево обсуждения
amcheck verification for GiST Andrey Borodin <x4mmm@yandex-team.ru>
Re: amcheck verification for GiST Thomas Munro <thomas.munro@enterprisedb.com>
Re: amcheck verification for GiST Andres Freund <andres@anarazel.de>
Re: amcheck verification for GiST Andrey Borodin <x4mmm@yandex-team.ru>
Re: amcheck verification for GiST Peter Geoghegan <pg@bowt.ie>
Re: amcheck verification for GiST Andrey Borodin <x4mmm@yandex-team.ru>
Re: amcheck verification for GiST Peter Geoghegan <pg@bowt.ie>
Re: amcheck verification for GiST Andrey Borodin <x4mmm@yandex-team.ru>
Re: amcheck verification for GiST Peter Geoghegan <pg@bowt.ie>
Re: amcheck verification for GiST Andrey Borodin <x4mmm@yandex-team.ru>
Re: amcheck verification for GiST Heikki Linnakangas <hlinnaka@iki.fi>
Re: amcheck verification for GiST Heikki Linnakangas <hlinnaka@iki.fi>
Re: amcheck verification for GiST Michael Paquier <michael@paquier.xyz>
On Fri, Sep 6, 2019 at 3:22 PM Peter Geoghegan  wrote:
> I'll take care of it, then.

Attached is v10, which has some comment and style fix-ups, including
the stuff Alvaro mentioned. It also adds line pointer sanitization to
match what I added to verify_nbtree.c in commit a9ce839a (we use a
custom PageGetItemIdCareful() for GiST instead of a simple
PageGetItemId()). I also added a new file/TU for the routines that are
now common to both nbtree and GiST verification, which I named
amcheck.c. (I'm not sure about that, but I don't like verify_nbtree.c
having generic/common functions.)

I have only had a few hours to polish this, which doesn't seem like
enough, though was enough to fix the noticeable stuff.

My main concern now is the heavyweight lock strength needed by the new
function. I don't feel particularly qualified to sign off on the
concurrency aspects of the patch. Heikki's v6 used a ShareLock, like
bt_index_parent_check(), but you went back to an AccessShareLock,
Andrey. Why is this safe? I see that you do gist_refind_parent() in
your v9 a little differently to Heikki in his v6, which you seemed to
suggest made this safe in your e-mail on March 28, but I don't
understand that at all.

-- 
Peter Geoghegan
В списке pgsql-hackers по дате отправления
От: Joe Conway
Дата:
От: Michael Paquier
Дата:
FAQ