aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/lmgr/lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/lmgr/lock.c')
-rw-r--r--src/backend/storage/lmgr/lock.c32
1 files changed, 4 insertions, 28 deletions
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
index 0a692ee0a6d..f595bce31b9 100644
--- a/src/backend/storage/lmgr/lock.c
+++ b/src/backend/storage/lmgr/lock.c
@@ -186,18 +186,6 @@ static int FastPathLocalUseCount = 0;
*/
static bool IsRelationExtensionLockHeld PG_USED_FOR_ASSERTS_ONLY = false;
-/*
- * Flag to indicate if the page lock is held by this backend. We don't
- * acquire any other heavyweight lock while holding the page lock except for
- * relation extension. However, these locks are never taken in reverse order
- * which implies that page locks will also never participate in the deadlock
- * cycle.
- *
- * Similar to relation extension, page locks are also held for a short
- * duration, so imposing such a restriction won't hurt.
- */
-static bool IsPageLockHeld PG_USED_FOR_ASSERTS_ONLY = false;
-
/* Macros for manipulating proc->fpLockBits */
#define FAST_PATH_BITS_PER_SLOT 3
#define FAST_PATH_LOCKNUMBER_OFFSET 1
@@ -887,13 +875,6 @@ LockAcquireExtended(const LOCKTAG *locktag,
Assert(!IsRelationExtensionLockHeld);
/*
- * We don't acquire any other heavyweight lock while holding the page lock
- * except for relation extension.
- */
- Assert(!IsPageLockHeld ||
- (locktag->locktag_type == LOCKTAG_RELATION_EXTEND));
-
- /*
* Prepare to emit a WAL record if acquisition of this lock needs to be
* replayed in a standby server.
*
@@ -1340,10 +1321,10 @@ SetupLockInTable(LockMethod lockMethodTable, PGPROC *proc,
}
/*
- * Check and set/reset the flag that we hold the relation extension/page lock.
+ * Check and set/reset the flag that we hold the relation extension lock.
*
* It is callers responsibility that this function is called after
- * acquiring/releasing the relation extension/page lock.
+ * acquiring/releasing the relation extension lock.
*
* Pass acquired as true if lock is acquired, false otherwise.
*/
@@ -1353,9 +1334,6 @@ CheckAndSetLockHeld(LOCALLOCK *locallock, bool acquired)
#ifdef USE_ASSERT_CHECKING
if (LOCALLOCK_LOCKTAG(*locallock) == LOCKTAG_RELATION_EXTEND)
IsRelationExtensionLockHeld = acquired;
- else if (LOCALLOCK_LOCKTAG(*locallock) == LOCKTAG_PAGE)
- IsPageLockHeld = acquired;
-
#endif
}
@@ -1480,11 +1458,9 @@ LockCheckConflicts(LockMethod lockMethodTable,
}
/*
- * The relation extension or page lock conflict even between the group
- * members.
+ * The relation extension lock conflict even between the group members.
*/
- if (LOCK_LOCKTAG(*lock) == LOCKTAG_RELATION_EXTEND ||
- (LOCK_LOCKTAG(*lock) == LOCKTAG_PAGE))
+ if (LOCK_LOCKTAG(*lock) == LOCKTAG_RELATION_EXTEND)
{
PROCLOCK_PRINT("LockCheckConflicts: conflicting (group)",
proclock);