aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2019-08-01 11:36:21 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2019-08-01 11:36:21 -0400
commit4886da8327507dddd830786b0c7aaa9cfc480b4b (patch)
treed75554e39a30060fe7beb02557700079235d406e
parentfd6ec93bf890314ac694dc8a7f3c45702ecc1bbd (diff)
downloadpostgresql-4886da8327507dddd830786b0c7aaa9cfc480b4b.tar.gz
postgresql-4886da8327507dddd830786b0c7aaa9cfc480b4b.zip
Mark advisory-lock functions as parallel restricted, not parallel unsafe.
There seems no good reason not to allow a parallel leader to execute these functions. (The workers still can't, though. Although the code would work, any such lock would go away at worker exit, which is not the documented behavior of advisory locks.) Discussion: https://postgr.es/m/11847.1564496844@sss.pgh.pa.us
-rw-r--r--src/include/catalog/catversion.h2
-rw-r--r--src/include/catalog/pg_proc.dat42
2 files changed, 22 insertions, 22 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h
index 34466b432c1..da0110e3e8d 100644
--- a/src/include/catalog/catversion.h
+++ b/src/include/catalog/catversion.h
@@ -53,6 +53,6 @@
*/
/* yyyymmddN */
-#define CATALOG_VERSION_NO 201907222
+#define CATALOG_VERSION_NO 201908011
#endif
diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat
index 0902dce5f14..4f43c39f535 100644
--- a/src/include/catalog/pg_proc.dat
+++ b/src/include/catalog/pg_proc.dat
@@ -7951,87 +7951,87 @@
# userlock replacements
{ oid => '2880', descr => 'obtain exclusive advisory lock',
- proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => 'int8',
prosrc => 'pg_advisory_lock_int8' },
{ oid => '3089', descr => 'obtain exclusive advisory lock',
- proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => 'int8',
prosrc => 'pg_advisory_xact_lock_int8' },
{ oid => '2881', descr => 'obtain shared advisory lock',
- proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => 'int8',
prosrc => 'pg_advisory_lock_shared_int8' },
{ oid => '3090', descr => 'obtain shared advisory lock',
proname => 'pg_advisory_xact_lock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'void', proargtypes => 'int8',
+ proparallel => 'r', prorettype => 'void', proargtypes => 'int8',
prosrc => 'pg_advisory_xact_lock_shared_int8' },
{ oid => '2882', descr => 'obtain exclusive advisory lock if available',
- proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r',
prorettype => 'bool', proargtypes => 'int8',
prosrc => 'pg_try_advisory_lock_int8' },
{ oid => '3091', descr => 'obtain exclusive advisory lock if available',
proname => 'pg_try_advisory_xact_lock', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int8',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
prosrc => 'pg_try_advisory_xact_lock_int8' },
{ oid => '2883', descr => 'obtain shared advisory lock if available',
proname => 'pg_try_advisory_lock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int8',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
prosrc => 'pg_try_advisory_lock_shared_int8' },
{ oid => '3092', descr => 'obtain shared advisory lock if available',
proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int8',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
prosrc => 'pg_try_advisory_xact_lock_shared_int8' },
{ oid => '2884', descr => 'release exclusive advisory lock',
- proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r',
prorettype => 'bool', proargtypes => 'int8',
prosrc => 'pg_advisory_unlock_int8' },
{ oid => '2885', descr => 'release shared advisory lock',
proname => 'pg_advisory_unlock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int8',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
prosrc => 'pg_advisory_unlock_shared_int8' },
{ oid => '2886', descr => 'obtain exclusive advisory lock',
- proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => 'int4 int4',
prosrc => 'pg_advisory_lock_int4' },
{ oid => '3093', descr => 'obtain exclusive advisory lock',
- proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => 'int4 int4',
prosrc => 'pg_advisory_xact_lock_int4' },
{ oid => '2887', descr => 'obtain shared advisory lock',
- proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => 'int4 int4',
prosrc => 'pg_advisory_lock_shared_int4' },
{ oid => '3094', descr => 'obtain shared advisory lock',
proname => 'pg_advisory_xact_lock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'void', proargtypes => 'int4 int4',
+ proparallel => 'r', prorettype => 'void', proargtypes => 'int4 int4',
prosrc => 'pg_advisory_xact_lock_shared_int4' },
{ oid => '2888', descr => 'obtain exclusive advisory lock if available',
- proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r',
prorettype => 'bool', proargtypes => 'int4 int4',
prosrc => 'pg_try_advisory_lock_int4' },
{ oid => '3095', descr => 'obtain exclusive advisory lock if available',
proname => 'pg_try_advisory_xact_lock', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
prosrc => 'pg_try_advisory_xact_lock_int4' },
{ oid => '2889', descr => 'obtain shared advisory lock if available',
proname => 'pg_try_advisory_lock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
prosrc => 'pg_try_advisory_lock_shared_int4' },
{ oid => '3096', descr => 'obtain shared advisory lock if available',
proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
prosrc => 'pg_try_advisory_xact_lock_shared_int4' },
{ oid => '2890', descr => 'release exclusive advisory lock',
- proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r',
prorettype => 'bool', proargtypes => 'int4 int4',
prosrc => 'pg_advisory_unlock_int4' },
{ oid => '2891', descr => 'release shared advisory lock',
proname => 'pg_advisory_unlock_shared', provolatile => 'v',
- proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4',
+ proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
prosrc => 'pg_advisory_unlock_shared_int4' },
{ oid => '2892', descr => 'release all advisory locks',
- proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'u',
+ proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'r',
prorettype => 'void', proargtypes => '', prosrc => 'pg_advisory_unlock_all' },
# XML support