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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/3ad55863e9392bff73377911ebbf9760027ed405
Modified Files
--------------
src/backend/access/gist/gist.c | 13 +-
src/backend/access/gist/gistget.c | 3 +
src/backend/storage/lmgr/README-SSI | 5 +-
src/test/isolation/expected/predicate-gist.out | 659 +++++++++++++++++++++++++
src/test/isolation/isolation_schedule | 1 +
src/test/isolation/specs/predicate-gist.spec | 117 +++++
6 files changed, 795 insertions(+), 3 deletions(-)