Re: Incorrect description of xmax and xip in functions docs - Mailing list pgsql-docs

From Bruce Momjian
Subject Re: Incorrect description of xmax and xip in functions docs
Date
Msg-id 200901081446.n08EkQN10910@momjian.us
Whole thread Raw
In response to Re: Incorrect description of xmax and xip in functions docs  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-docs
Simon Riggs wrote:
>
> On Wed, 2009-01-07 at 20:30 -0500, Bruce Momjian wrote:
>
> > > The only way is to document it.
> >
> > Sorry, I am just getting back to this.  Why would we not know if
> > something is a subtransaction or if subtransactions are supported?  Are
> > you assuming txid_visible_in_snapshot() will be used on different
> > servers?  What are these txid_* functions for anyway?
>
> You can derive a snapshot and export it using txid_current_snapshot().
> http://developer.postgresql.org/pgdocs/postgres/functions-info.html
>
> You can then check whether an xid is in that snapshot by running
> txid_visible_in_snapshot(). However, the check is done assuming that the
> xid you are checking is a top-level xid and the answer you get is either
> yes or no.
>
> There is no allowance made that the xid supplied as a parameter value
> may have been a subtrans of one of the top-level xids listed. So the
> answer *ought* to have been true, whereas the function will always
> return false.
>
> We cannot extend txid_visible_in_snapshot() to answer correctly because
> that information is not held within the snapshot datatype, nor is it
> held in regular snapshots currently. So the only way to handle this is
> to document the limited scope of the answer this function provides.

Thank you for the clarification;  I know understand.  Patch attached and
applied.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.468
diff -c -c -r1.468 func.sgml
*** doc/src/sgml/func.sgml    8 Jan 2009 00:44:18 -0000    1.468
--- doc/src/sgml/func.sgml    8 Jan 2009 14:45:57 -0000
***************
*** 12473,12479 ****
        <row>
         <entry><literal><function>txid_visible_in_snapshot</function>(<parameter>bigint</parameter>,
<parameter>txid_snapshot</parameter>)</literal></entry>
         <entry><type>boolean</type></entry>
!        <entry>is transaction ID visible in snapshot?</entry>
        </row>
       </tbody>
      </tgroup>
--- 12473,12479 ----
        <row>
         <entry><literal><function>txid_visible_in_snapshot</function>(<parameter>bigint</parameter>,
<parameter>txid_snapshot</parameter>)</literal></entry>
         <entry><type>boolean</type></entry>
!        <entry>is transaction ID visible in snapshot? (do not use with subtransaction ids)</entry>
        </row>
       </tbody>
      </tgroup>

pgsql-docs by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Incorrect description of xmax and xip in functions docs
Next
From: Bruce Momjian
Date:
Subject: Re: Please add REINDEX note to 8.3.5 release notes.