aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/lockfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-09-22 23:20:14 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-09-22 23:20:14 +0000
commitd40d34863e23bbfce2fbdc05e85b92e7ae321ecd (patch)
treeab2087db4b6334af3722fbc74227dacbc23c4197 /src/backend/utils/adt/lockfuncs.c
parentbeca984e5f1c315d02064e69861be112f5a69b3d (diff)
downloadpostgresql-d40d34863e23bbfce2fbdc05e85b92e7ae321ecd.tar.gz
postgresql-d40d34863e23bbfce2fbdc05e85b92e7ae321ecd.zip
Fix pg_locks view to call advisory locks advisory locks, while preserving
backward compatibility for anyone using the old userlock code that's now on pgfoundry --- locks from that code still show as 'userlock'.
Diffstat (limited to 'src/backend/utils/adt/lockfuncs.c')
-rw-r--r--src/backend/utils/adt/lockfuncs.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c
index f7c7deca8d9..a9d8b8b88f4 100644
--- a/src/backend/utils/adt/lockfuncs.c
+++ b/src/backend/utils/adt/lockfuncs.c
@@ -6,7 +6,7 @@
* Copyright (c) 2002-2006, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/lockfuncs.c,v 1.25 2006/09/18 22:40:37 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/lockfuncs.c,v 1.26 2006/09/22 23:20:14 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,7 +28,8 @@ static const char *const LockTagTypeNames[] = {
"tuple",
"transactionid",
"object",
- "userlock"
+ "userlock",
+ "advisory"
};
/* Working status for pg_lock_status */
@@ -181,7 +182,7 @@ pg_lock_status(PG_FUNCTION_ARGS)
MemSet(values, 0, sizeof(values));
MemSet(nulls, ' ', sizeof(nulls));
- if (lock->tag.locktag_type <= LOCKTAG_USERLOCK)
+ if (lock->tag.locktag_type <= LOCKTAG_ADVISORY)
locktypename = LockTagTypeNames[lock->tag.locktag_type];
else
{
@@ -238,6 +239,7 @@ pg_lock_status(PG_FUNCTION_ARGS)
break;
case LOCKTAG_OBJECT:
case LOCKTAG_USERLOCK:
+ case LOCKTAG_ADVISORY:
default: /* treat unknown locktags like OBJECT */
values[1] = ObjectIdGetDatum(lock->tag.locktag_field1);
values[6] = ObjectIdGetDatum(lock->tag.locktag_field2);
@@ -270,7 +272,7 @@ pg_lock_status(PG_FUNCTION_ARGS)
/*
- * Functions for manipulating USERLOCK locks
+ * Functions for manipulating advisory locks
*
* We make use of the locktag fields as follows:
*
@@ -280,13 +282,13 @@ pg_lock_status(PG_FUNCTION_ARGS)
* field4: 1 if using an int8 key, 2 if using 2 int4 keys
*/
#define SET_LOCKTAG_INT64(tag, key64) \
- SET_LOCKTAG_USERLOCK(tag, \
+ SET_LOCKTAG_ADVISORY(tag, \
MyDatabaseId, \
(uint32) ((key64) >> 32), \
(uint32) (key64), \
1)
#define SET_LOCKTAG_INT32(tag, key1, key2) \
- SET_LOCKTAG_USERLOCK(tag, MyDatabaseId, key1, key2, 2)
+ SET_LOCKTAG_ADVISORY(tag, MyDatabaseId, key1, key2, 2)
/*
* pg_advisory_lock(int8) - acquire exclusive lock on an int8 key
@@ -511,7 +513,7 @@ pg_advisory_unlock_shared_int4(PG_FUNCTION_ARGS)
}
/*
- * pg_advisory_unlock_all() - release all userlocks
+ * pg_advisory_unlock_all() - release all advisory locks
*/
Datum
pg_advisory_unlock_all(PG_FUNCTION_ARGS)