Advisory Lock BIGINT Values - Mailing list pgsql-hackers

From David E. Wheeler
Subject Advisory Lock BIGINT Values
Date
Msg-id 69AC7BDF-4AA8-46FF-A6D9-8BD6FDB5A859@justatheory.com
Whole thread Raw
Responses Re: Advisory Lock BIGINT Values  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Hackers,

The documentation for pg_locks says that, for BIGINT advisory locks:

> A bigint key is displayed with its high-order half in the classid column, its low-order half in the objid column

I was in need of knowing what the bigint is that is waiting on a lock, and Andrew Dunstan was kind enough to help me
outwith that. Since other folks might also need it, here’s a doc patch. 

diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
new file mode 100644
index 9564e01..de1c266
*** a/doc/src/sgml/catalogs.sgml
--- b/doc/src/sgml/catalogs.sgml
***************
*** 7313,7319 ****    A <type>bigint</type> key is displayed with its    high-order half in the <structfield>classid</>
column,its low-order half    in the <structfield>objid</> column, and <structfield>objsubid</> equal 
!    to 1.  Integer keys are displayed with the first key in the    <structfield>classid</> column, the second key in
the<structfield>objid</>    column, and <structfield>objsubid</> equal to 2.  The actual meaning of    the keys is up
tothe user.  Advisory locks are local to each database, 
--- 7313,7322 ----    A <type>bigint</type> key is displayed with its    high-order half in the <structfield>classid</>
column,its low-order half    in the <structfield>objid</> column, and <structfield>objsubid</> equal 
!    to 1. The original <type>bigint</type> value can be reassembled with the
!    expression <literal>(classid::int::bit(64) << 32 |
!    objid::int::bit(64))::bigint</literal>. Integer keys are displayed with the
!    first key in the    <structfield>classid</> column, the second key in the <structfield>objid</>    column, and
<structfield>objsubid</>equal to 2.  The actual meaning of    the keys is up to the user.  Advisory locks are local to
eachdatabase, 

Best,

DAvid



pgsql-hackers by date:

Previous
From: Antonin Houska
Date:
Subject: lateral function as a subquery - WIP patch
Next
From: Tom Lane
Date:
Subject: Re: pg_crypto failures with llvm on OSX