]> granicus.if.org Git - postgresql/commitdiff
Update FAQ_DEV.
authorBruce Momjian <bruce@momjian.us>
Sat, 4 Nov 2000 17:09:24 +0000 (17:09 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 4 Nov 2000 17:09:24 +0000 (17:09 +0000)
doc/FAQ_DEV
doc/src/FAQ/FAQ_DEV.html

index 31b27ee73ecad5390d10ebfb24216f273b18ca6d..5f9f0788348de4088b231faba2d3341c4aee3c27 100644 (file)
@@ -26,6 +26,7 @@
    10) What is elog()?
    11) What is configure all about?
    12) How do I add a new port?
+   13) What is CommandCounterIncrement()?
      _________________________________________________________________
    
   1) What tools are available for developers?
@@ -414,3 +415,15 @@ c-mode)
    src/include/storage/s_lock.h for your CPU. There is also a
    src/makefiles directory for port-specific Makefile handling. There is
    a backend/port directory if you need special files for your OS.
+   
+  13) What is CommandCounterIncrement()?
+  
+   Normally, transactions can not see the rows they modify. This allows
+   UPDATE foo SET x = x + 1 to work correctly.
+   
+   However, there are cases where a transactions needs to see rows
+   affected in previous parts of the transaction. This is accomplished
+   using a Command Counter. Incrementing the counter allows transactions
+   to be broken into pieces so each piece can see rows modified by
+   previous pieces. CommandCounterIncrement() increments the Command
+   Counter, creating a new piece of the transaction.
index ba60c157c2192a1264f8305f1849716c2923b676..4da26a9d3a2c67ad6aa18ad40b974b1da47f82a1 100644 (file)
@@ -38,6 +38,7 @@ tables from the backend code?<BR>
 <a href="#10">10</a>)  What is elog()?<BR>
 <a href="#11">11</a>)  What is configure all about?<BR>
 <a href="#12">12</a>)  How do I add a new port?<BR>
+<a href="#13">13</a>)  What is CommandCounterIncrement()?<BR>
 <BR>
 <HR>
 
@@ -481,6 +482,18 @@ appropriate values.  Hopefully, there is already locking code in
 There is a <I>backend/port</I> directory if you need special files for
 your OS.<P>
 
+<H3><a name="13">13</a>)       What is CommandCounterIncrement()?</H3><P>
+
+Normally, transactions can not see the rows they modify.  This allows <CODE>
+UPDATE foo SET x = x + 1</CODE> to work correctly. 
+<P>
+
+However, there are cases where a transactions needs to see rows affected
+in previous parts of the transaction. This is accomplished using a
+Command Counter. Incrementing the counter allows transactions to be
+broken into pieces so each piece can see rows modified by previous
+pieces. <I>CommandCounterIncrement()</I> increments the Command
+Counter, creating a new piece of the transaction. <P>
 
 </BODY>
 </HTML>