Re: Need help understanding pg_locks - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Need help understanding pg_locks
Date
Msg-id 201107142059.p6EKxO209820@momjian.us
Whole thread Raw
In response to Re: Need help understanding pg_locks  (Florian Pflug <fgp@phlo.org>)
List pgsql-hackers
Looks good to me.

---------------------------------------------------------------------------

Florian Pflug wrote:
> On Jul14, 2011, at 22:18 , Bruce Momjian wrote:
> > !        OID of the database in which the lock target exists, or
> > !        zero if the lock is a shared object, or
> > !        null if the lock is on a transaction ID
> 
> For consistency, I think it should say "target" in the second part
> of the sentence also now, instead of "lock ... on".
> 
> Updated patch attached. I tried to make the descriptions a
> bit more consistent, replaced "object" by "target", and
> added "targeted by" after the phrase which describes the
> locked (or waited-for) object.
> 
> best regards,
> Florian Pflug
> 
> diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
> index d4a1d36..33be5d0 100644
> *** a/doc/src/sgml/catalogs.sgml
> --- b/doc/src/sgml/catalogs.sgml
> ***************
> *** 6928,6936 ****
>         <entry><type>oid</type></entry>
>         <entry><literal><link
linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry>
>         <entry>
> !        OID of the database in which the object exists, or
> !        zero if the object is a shared object, or
> !        null if the object is a transaction ID
>         </entry>
>        </row>
>        <row>
> --- 6928,6936 ----
>         <entry><type>oid</type></entry>
>         <entry><literal><link
linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry>
>         <entry>
> !        OID of the database in which the lock target exists, or
> !        zero if the target is a shared object, or
> !        null if the target is a transaction ID
>         </entry>
>        </row>
>        <row>
> ***************
> *** 6938,6944 ****
>         <entry><type>oid</type></entry>
>         <entry><literal><link
linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
>         <entry>
> !        OID of the relation, or null if the object is not
>          a relation or part of a relation
>         </entry>
>        </row>
> --- 6938,6944 ----
>         <entry><type>oid</type></entry>
>         <entry><literal><link
linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
>         <entry>
> !        OID of the relation targeted by the lock, or null if the target is not
>          a relation or part of a relation
>         </entry>
>        </row>
> ***************
> *** 6947,6954 ****
>         <entry><type>integer</type></entry>
>         <entry></entry>
>         <entry>
> !        Page number within the relation, or null if the object
> !        is not a tuple or relation page
>         </entry>
>        </row>
>        <row>
> --- 6947,6954 ----
>         <entry><type>integer</type></entry>
>         <entry></entry>
>         <entry>
> !        Page number targeted by the lock within the relation,
> !        or null if the target is not a relation page or tuple
>         </entry>
>        </row>
>        <row>
> ***************
> *** 6956,6962 ****
>         <entry><type>smallint</type></entry>
>         <entry></entry>
>         <entry>
> !        Tuple number within the page, or null if the object is not a tuple
>         </entry>
>        </row>
>        <row>
> --- 6956,6963 ----
>         <entry><type>smallint</type></entry>
>         <entry></entry>
>         <entry>
> !        Tuple number targeted by the lock within the page,
> !        or null if the target is not a tuple
>         </entry>
>        </row>
>        <row>
> ***************
> *** 6964,6971 ****
>         <entry><type>text</type></entry>
>         <entry></entry>
>         <entry>
> !        Virtual ID of a transaction, or null if the object is not a
> !        virtual transaction ID
>         </entry>
>        </row>
>        <row>
> --- 6965,6972 ----
>         <entry><type>text</type></entry>
>         <entry></entry>
>         <entry>
> !        Virtual ID of the transaction targeted by the lock,
> !        or null if the target is not a virtual transaction ID
>         </entry>
>        </row>
>        <row>
> ***************
> *** 6973,6979 ****
>         <entry><type>xid</type></entry>
>         <entry></entry>
>         <entry>
> !        ID of a transaction, or null if the object is not a transaction ID
>         </entry>
>        </row>
>        <row>
> --- 6974,6981 ----
>         <entry><type>xid</type></entry>
>         <entry></entry>
>         <entry>
> !        ID of the transaction targeted by the lock,
> !        or null if the target is not a transaction ID
>         </entry>
>        </row>
>        <row>
> ***************
> *** 6981,6988 ****
>         <entry><type>oid</type></entry>
>         <entry><literal><link
linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
>         <entry>
> !        OID of the system catalog containing the object, or null if the
> !        object is not a general database object
>         </entry>
>        </row>
>        <row>
> --- 6983,6990 ----
>         <entry><type>oid</type></entry>
>         <entry><literal><link
linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
>         <entry>
> !        OID of the system catalog containing the lock target, or null if the
> !        target is not a general database object
>         </entry>
>        </row>
>        <row>
> ***************
> *** 6990,6997 ****
>         <entry><type>oid</type></entry>
>         <entry>any OID column</entry>
>         <entry>
> !        OID of the object within its system catalog, or null if the
> !        object is not a general database object.
>          For advisory locks it is used to distinguish the two key
>          spaces (1 for an int8 key, 2 for two int4 keys).
>         </entry>
> --- 6992,6999 ----
>         <entry><type>oid</type></entry>
>         <entry>any OID column</entry>
>         <entry>
> !        OID of the lock target within its system catalog, or null if the
> !        target is not a general database object.
>          For advisory locks it is used to distinguish the two key
>          spaces (1 for an int8 key, 2 for two int4 keys).
>         </entry>
> ***************
> *** 7001,7010 ****
>         <entry><type>smallint</type></entry>
>         <entry></entry>
>         <entry>
> !        For a table column, this is the column number (the
>          <structfield>classid</> and <structfield>objid</> refer to the
> !        table itself).  For all other object types, this column is
> !        zero.  Null if the object is not a general database object
>         </entry>
>        </row>
>        <row>
> --- 7003,7013 ----
>         <entry><type>smallint</type></entry>
>         <entry></entry>
>         <entry>
> !        Column number targeted by the lock (the
>          <structfield>classid</> and <structfield>objid</> refer to the
> !        table itself),
> !        or zero if the target is some other general database object,
> !        or null if the target is not a general database object
>         </entry>
>        </row>
>        <row>

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: WIP: Fast GiST index build
Next
From: Josh Berkus
Date:
Subject: Re: pg_class.relistemp