Add transaction-level advisory locks. They share the same locking namespace with the existing session-level advisory locks, but they are automatically released at the end of the current transaction and cannot be released explicitly via unlock functions.
Marko Tiikkaja, reviewed by me. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/62c7bd31c8878dd45c9b9b2429ab7a12103f3590 Modified Files -------------- doc/src/sgml/func.sgml | 128 +++++++++++-- doc/src/sgml/mvcc.sgml | 35 ++-- src/backend/storage/lmgr/README | 11 +- src/backend/storage/lmgr/lock.c | 101 +++++++--- src/backend/storage/lmgr/proc.c | 5 +- src/backend/utils/adt/lockfuncs.c | 154 +++++++++++++++- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_proc.h | 16 ++ src/include/storage/lock.h | 1 + src/include/utils/builtins.h | 8 + src/test/regress/expected/advisory_lock.out | 275 +++++++++++++++++++++++++++ src/test/regress/parallel_schedule | 2 +- src/test/regress/serial_schedule | 1 + src/test/regress/sql/advisory_lock.sql | 146 ++++++++++++++ 14 files changed, 814 insertions(+), 71 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers