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  <[email protected]>        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>
-- 
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

Reply via email to