From eb4e53aefd1d67b133c50f5f32b3835338ced5ef Mon Sep 17 00:00:00 2001 From: Masahiko Sawada Date: Tue, 30 Oct 2018 17:17:39 +0900 Subject: [PATCH v8 2/3] Make group locking conflict when relation exntesion. --- src/backend/storage/lmgr/lock.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 10f6f60..be00c02 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -1405,6 +1405,14 @@ LockCheckConflicts(LockMethod lockMethodTable, return STATUS_FOUND; } + /* Relation extension locks are conflict even in group locking */ + if (lock->tag.locktag_type == LOCKTAG_RELATION_EXTEND) + { + PROCLOCK_PRINT("LockCheckConflicts: conflicting (group)", + proclock); + return STATUS_FOUND; + } + /* * Locks held in conflicting modes by members of our own lock group are * not real conflicts; we can subtract those out and see if we still have -- 2.10.5