aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2011-11-10 17:54:27 -0500
committerRobert Haas <rhaas@postgresql.org>2011-11-10 17:54:27 -0500
commit71b2b657c034743f81ae7906d7b0fcc8e9a0a6a3 (patch)
tree14c5210e25e8ac151328ae26832f5a254c4f23af /src
parentcf22e851b6ae8737f3e767dffcadf1722fbb36a7 (diff)
downloadpostgresql-71b2b657c034743f81ae7906d7b0fcc8e9a0a6a3.tar.gz
postgresql-71b2b657c034743f81ae7906d7b0fcc8e9a0a6a3.zip
Revert removal of trace_userlocks, because userlocks aren't gone.
This reverts commit 0180bd6180511875db046bf8ddcaa633a2952dfd. contrib/userlock is gone, but user-level locking still exists, and is exposed via the pg_advisory* family of functions.
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/lmgr/lock.c8
-rwxr-xr-xsrc/backend/utils/misc/check_guc2
-rw-r--r--src/backend/utils/misc/guc.c10
-rw-r--r--src/include/storage/lock.h1
4 files changed, 19 insertions, 2 deletions
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
index ed8344ff8f2..905502f145b 100644
--- a/src/backend/storage/lmgr/lock.c
+++ b/src/backend/storage/lmgr/lock.c
@@ -213,7 +213,12 @@ static const LockMethodData user_lockmethod = {
AccessExclusiveLock, /* highest valid lock mode number */
true,
LockConflicts,
- lock_mode_names
+ lock_mode_names,
+#ifdef LOCK_DEBUG
+ &Trace_userlocks
+#else
+ &Dummy_trace
+#endif
};
/*
@@ -271,6 +276,7 @@ static ResourceOwner awaitedOwner;
int Trace_lock_oidmin = FirstNormalObjectId;
bool Trace_locks = false;
+bool Trace_userlocks = false;
int Trace_lock_table = 0;
bool Debug_deadlocks = false;
diff --git a/src/backend/utils/misc/check_guc b/src/backend/utils/misc/check_guc
index 91c1c581acd..293fb0363f8 100755
--- a/src/backend/utils/misc/check_guc
+++ b/src/backend/utils/misc/check_guc
@@ -20,7 +20,7 @@ INTENTIONALLY_NOT_INCLUDED="autocommit debug_deadlocks \
is_superuser lc_collate lc_ctype lc_messages lc_monetary lc_numeric lc_time \
pre_auth_delay role seed server_encoding server_version server_version_int \
session_authorization trace_lock_oidmin trace_lock_table trace_locks trace_lwlocks \
-trace_notify transaction_isolation transaction_read_only \
+trace_notify trace_userlocks transaction_isolation transaction_read_only \
zero_damaged_pages"
### What options are listed in postgresql.conf.sample, but don't appear
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index a22272c6b76..da7b6d4e90b 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -1061,6 +1061,16 @@ static struct config_bool ConfigureNamesBool[] =
NULL, NULL, NULL
},
{
+ {"trace_userlocks", PGC_SUSET, DEVELOPER_OPTIONS,
+ gettext_noop("No description available."),
+ NULL,
+ GUC_NOT_IN_SAMPLE
+ },
+ &Trace_userlocks,
+ false,
+ NULL, NULL, NULL
+ },
+ {
{"trace_lwlocks", PGC_SUSET, DEVELOPER_OPTIONS,
gettext_noop("No description available."),
NULL,
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index bc746a39e4f..e106ad54019 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -34,6 +34,7 @@ extern int max_locks_per_xact;
#ifdef LOCK_DEBUG
extern int Trace_lock_oidmin;
extern bool Trace_locks;
+extern bool Trace_userlocks;
extern int Trace_lock_table;
extern bool Debug_deadlocks;
#endif /* LOCK_DEBUG */