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-sg3...@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(-)