aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/lmgr/lmgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/lmgr/lmgr.c')
-rw-r--r--src/backend/storage/lmgr/lmgr.c36
1 files changed, 13 insertions, 23 deletions
diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c
index fe3cda2f88a..094522acb41 100644
--- a/src/backend/storage/lmgr/lmgr.c
+++ b/src/backend/storage/lmgr/lmgr.c
@@ -335,32 +335,22 @@ CheckRelationLockedByMe(Relation relation, LOCKMODE lockmode, bool orstronger)
relation->rd_lockInfo.lockRelId.dbId,
relation->rd_lockInfo.lockRelId.relId);
- if (LockHeldByMe(&tag, lockmode))
- return true;
+ return LockHeldByMe(&tag, lockmode, orstronger);
+}
- if (orstronger)
- {
- LOCKMODE slockmode;
+/*
+ * CheckRelationOidLockedByMe
+ *
+ * Like the above, but takes an OID as argument.
+ */
+bool
+CheckRelationOidLockedByMe(Oid relid, LOCKMODE lockmode, bool orstronger)
+{
+ LOCKTAG tag;
- for (slockmode = lockmode + 1;
- slockmode <= MaxLockMode;
- slockmode++)
- {
- if (LockHeldByMe(&tag, slockmode))
- {
-#ifdef NOT_USED
- /* Sometimes this might be useful for debugging purposes */
- elog(WARNING, "lock mode %s substituted for %s on relation %s",
- GetLockmodeName(tag.locktag_lockmethodid, slockmode),
- GetLockmodeName(tag.locktag_lockmethodid, lockmode),
- RelationGetRelationName(relation));
-#endif
- return true;
- }
- }
- }
+ SetLocktagRelationOid(&tag, relid);
- return false;
+ return LockHeldByMe(&tag, lockmode, orstronger);
}
/*