diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index e9703f1..dd27acf 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -1354,6 +1354,17 @@ LockCheckConflicts(LockMethod lockMethodTable, } /* + * If relation lock for extend, it's a 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 * a conflict. This is O(N) in the number of processes holding or