From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Predicate locking in GIN index |
Date: | 2018-03-30 11:23:32 |
Message-ID: | E1f1s84-0008LZ-Dt@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Predicate locking in GIN index
Predicate locks are used on per page basis only if fastupdate = off, in
opposite case predicate lock on pending list will effectively lock whole index,
to reduce locking overhead, just lock a relation. Entry and posting trees are
essentially B-tree, so locks are acquired on leaf pages only.
Author: Shubham Barai with some editorization by me and Dmitry Ivanov
Review by: Alexander Korotkov, Dmitry Ivanov, Fedor Sigaev
Discussion: https://www.postgresql.org/message-id/flat/CALxAEPt5sWW+EwTaKUGFL5_XFcZ0MuGBcyJ70oqbWqr42YKR8Q(at)mail(dot)gmail(dot)com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/43d1ed60fdd96027f044e152176c0d45cd6bf443
Modified Files
--------------
src/backend/access/gin/ginbtree.c | 22 +
src/backend/access/gin/gindatapage.c | 10 +-
src/backend/access/gin/ginget.c | 76 ++-
src/backend/access/gin/gininsert.c | 38 +-
src/backend/access/gin/ginutil.c | 10 +-
src/backend/access/gin/ginvacuum.c | 12 +-
src/backend/storage/lmgr/README-SSI | 9 +
src/include/access/gin_private.h | 4 +-
src/test/isolation/expected/predicate-gin.out | 756 ++++++++++++++++++++++++++
src/test/isolation/isolation_schedule | 1 +
src/test/isolation/specs/predicate-gin.spec | 134 +++++
11 files changed, 1054 insertions(+), 18 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2018-03-30 14:39:59 | pgsql: doc: document "IS NOT DOCUMENT" |
Previous Message | Magnus Hagander | 2018-03-30 10:35:47 | pgsql: Fix typo in comment |