Add predicate locking for GiST
authorTeodor Sigaev <teodor@sigaev.ru>
Tue, 27 Mar 2018 12:43:19 +0000 (15:43 +0300)
committerTeodor Sigaev <teodor@sigaev.ru>
Tue, 27 Mar 2018 12:43:19 +0000 (15:43 +0300)
commit3ad55863e9392bff73377911ebbf9760027ed405
treeb3629aa316822f1bff9003b85244a27cbb14449f
parent4b9094eb6e14dfdbed61278ea8e51cc846e43579
Add predicate locking for GiST

Add page-level predicate locking, due to gist's code organization, patch seems
close to trivial: add check before page changing, add predicate lock before page
scanning.  Although choosing right place to check is not simple: it should not
be called during index build, it should support insertion of new downlink and so
on.

Author: Shubham Barai with editorization by me and Alexander Korotkov
Reviewed by: Alexander Korotkov, Andrey Borodin, me
Discussion: https://www.postgresql.org/message-id/flat/CALxAEPtdcANpw5ePU3LvnTP8HCENFw6wygupQAyNBgD-sG3h0g@mail.gmail.com
src/backend/access/gist/gist.c
src/backend/access/gist/gistget.c
src/backend/storage/lmgr/README-SSI
src/test/isolation/expected/predicate-gist.out [new file with mode: 0644]
src/test/isolation/isolation_schedule
src/test/isolation/specs/predicate-gist.spec [new file with mode: 0644]