pgsql: Remove entry tree root conflict checking from GIN predicatelock - Mailing list pgsql-committers

From Alexander Korotkov
Subject pgsql: Remove entry tree root conflict checking from GIN predicatelock
Date
Msg-id E1gcKQN-0005Kv-5r@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Remove entry tree root conflict checking from GIN predicate locking

According to README we acquire predicate locks on entry tree leafs and posting
tree roots.  However, when ginFindLeafPage() is going to lock leaf in exclusive
mode, then it checks root for conflicts regardless whether it's a entry or
posting tree.  Assuming that we never place predicate lock on entry tree root
(excluding corner case when root is leaf), this check is redundant.  This
commit removes this check.  Now, root conflict checking is controlled by
separate argument of ginFindLeafPage().

Discussion: https://postgr.es/m/CAPpHfdv7rrDyy%3DMgsaK-L9kk0AH7az0B-mdC3w3p0FSb9uoyEg%40mail.gmail.com
Author: Alexander Korotkov
Backpatch-through: 11

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/fd7c081955929df343318d6c5d32ea24a574aacf

Modified Files
--------------
src/backend/access/gin/ginbtree.c    | 8 ++++++--
src/backend/access/gin/gindatapage.c | 4 ++--
src/backend/access/gin/ginget.c      | 4 ++--
src/backend/access/gin/gininsert.c   | 2 +-
src/include/access/gin_private.h     | 3 ++-
5 files changed, 13 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Alexander Korotkov
Date:
Subject: pgsql: Remove entry tree root conflict checking from GIN predicatelock
Next
From: Peter Eisentraut
Date:
Subject: pgsql: pg_dump: Add missing newline to error message