Marko Kreen wrote:
> On 10/16/07, Chris Browne <[EMAIL PROTECTED]> wrote:
> > [EMAIL PROTECTED] ("Marko Kreen") writes:
> > > Even the realistic code may be too much for general docs,
> > > but considering this is not a functionality covered
> > > by general SQL textbooks, I think it is worth having.
> > >
> > > I also put rendered pages up here:
> > > http://skytools.projects.postgresql.org/txid/datatype-txid-snapshot.html
> >
> > > http://skytools.projects.postgresql.org/txid/functions-txid.html
> >
> > I believe that those suggested texts describe what you intended, and
> > they should represent better English text for this.
>
> Thanks. Here is a version with your changes applied, plus
> minor code cleanup and example output.
>
> I uploaded full docs to above urls, should be easier to browse.
I have applied part of your patch that documents the txid components in
the datatype section. I didn't apply any of your example usage. I just
added the mention that:
The main use of these functions is to determine which transactions
were committed between two snapshots.
If you want to put those examples on a web site or pgfoundry, we can
link to it from the documentation.
Applied patch attached.
--
Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/datatype.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v
retrieving revision 1.211
diff -c -c -r1.211 datatype.sgml
*** doc/src/sgml/datatype.sgml 21 Oct 2007 20:04:37 -0000 1.211
--- doc/src/sgml/datatype.sgml 5 Nov 2007 14:35:49 -0000
***************
*** 3437,3442 ****
--- 3437,3513 ----
</sect1>
+ <sect1 id="datatype-txid-snapshot">
+ <title>Transaction Snapshot Type</title>
+
+ <indexterm zone="datatype-txid-snapshot">
+ <primary>txid_snapshot</primary>
+ </indexterm>
+
+ <para>
+ The data type <type>txid_snapshot</type> stores info about transaction ID
+ visibility at a particular moment in time. The components are
+ described in <xref linkend="datatype-txid-snapshot-parts">.
+ </para>
+
+ <table id="datatype-txid-snapshot-parts">
+ <title>Snapshot components</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Query Function</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><type>xmin</type></entry>
+ <entry>txid_snapshot_xmin()</entry>
+ <entry>
+ Earliest transaction ID that is still active. All earlier
+ transactions will either be committed and visible, or rolled
+ back and dead.
+ </entry>
+ </row>
+
+ <row>
+ <entry><type>xmax</type></entry>
+ <entry>txid_snapshot_xmax()</entry>
+ <entry>
+ Next unassigned txid. All txids later than this one are
+ unassigned, and thus invisible.
+ </entry>
+ </row>
+
+ <row>
+ <entry><type>xip_list</type></entry>
+ <entry>txid_snapshot_xip()</entry>
+ <entry>
+ Active txids at the time of snapshot. All of them are between
+ xmin and xmax. A txid that is <literal>xmin <= txid <
+ xmax</literal> and not in this list is visible.
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ Snapshot's textual representation is <literal>[xmin]:[xmax]:[xip_list]</literal>
+ for example <literal>10:20:10,14,15</literal> means
+ <literal>xmin=10 xmax=20 xip_list=10,14,15</literal>.
+ </para>
+
+ <para>
+ Functions for getting and querying transaction ids and snapshots are
+ described in <xref linkend="functions-txid">.
+ </para>
+ </sect1>
+
<sect1 id="datatype-uuid">
<title><acronym>UUID</acronym> Type</title>
Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.406
diff -c -c -r1.406 func.sgml
*** doc/src/sgml/func.sgml 30 Oct 2007 19:06:56 -0000 1.406
--- doc/src/sgml/func.sgml 5 Nov 2007 14:35:50 -0000
***************
*** 11490,11495 ****
--- 11490,11500 ----
as well.
</para>
+ </sect1>
+
+ <sect1 id="functions-txid">
+ <title>Transaction ID and Snapshot Functions</title>
+
<indexterm>
<primary>txid_current</primary>
</indexterm>
***************
*** 11562,11581 ****
</table>
<para>
! The internal transaction ID type (<type>xid</>) is 32 bits wide and so
! it wraps around every 4 billion transactions. However, these functions
! export a 64-bit format that is extended with an <quote>epoch</> counter
! so that it will not wrap around for the life of an installation.
</para>
</sect1>
! <sect1 id="functions-admin">
! <title>System Administration Functions</title>
! <para>
! <xref linkend="functions-admin-set-table"> shows the functions
! available to query and alter run-time configuration parameters.
! </para>
<table id="functions-admin-set-table">
<title>Configuration Settings Functions</title>
--- 11567,11589 ----
</table>
<para>
! The internal transaction ID type (<type>xid</>) is 32 bits wide and
! so it wraps around every 4 billion transactions. However, these
! functions export a 64-bit format that is extended with an
! <quote>epoch</> counter so that it will not wrap around for the life
! of an installation. The main use of these functions is to determine
! which transactions were committed between two snapshots.
</para>
+
</sect1>
! <sect1 id="functions-admin">
! <title>System Administration Functions</title>
! <para>
! <xref linkend="functions-admin-set-table"> shows the functions
! available to query and alter run-time configuration parameters.
! </para>
<table id="functions-admin-set-table">
<title>Configuration Settings Functions</title>
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org