[Zodb-checkins] CVS: ZODB3/Doc/guide - transactions.tex:1.2.4.1

Jeremy Hylton jeremy@zope.com
Fri, 4 Oct 2002 14:20:57 -0400


Update of /cvs-repository/ZODB3/Doc/guide
In directory cvs.zope.org:/tmp/cvs-serv20562/Doc/guide

Modified Files:
      Tag: ZODB3-3_1-branch
	transactions.tex 
Log Message:
Explain a little more about transactional undo.






=== ZODB3/Doc/guide/transactions.tex 1.2 => 1.2.4.1 ===
--- ZODB3/Doc/guide/transactions.tex:1.2	Mon Feb 11 18:33:40 2002
+++ ZODB3/Doc/guide/transactions.tex	Fri Oct  4 14:20:57 2002
@@ -35,7 +35,7 @@
 
 \begin{verbatim}
 # Commit a subtransaction
-get_transaction().commit(1)	
+get_transaction().commit(1)     
 
 # Abort a subtransaction
 get_transaction().abort(1)   
@@ -103,6 +103,16 @@
 modified the objects affected by the transaction you're trying to
 undo.
 
+After you call \method{undo()} you must commit the transaction for the
+undo to actually be applied.
+\footnote{There are actually two different ways a storage can
+implement the undo feature.  Most of the storages that ship with ZODB
+use the transactional form of undo described in the main text.  Some
+storages may use a non-transactional undo makes changes visible
+immediately.}  There is one glitch in the undo process.  The thread
+that calls undo may not see the changes to the object until it calls
+\method{Connection.sync()} or commits another transaction.
+
 \subsection{Versions}
 
 While many subtransactions can be contained within a single regular
@@ -160,7 +170,4 @@
 The \class{Storage} and \class{DB} instances can be shared among
 several threads, as long as individual \class{Connection} instances
 are created for each thread.  
-
-XXX I can't think of anything else to say about multithreaded ZODB
-programs.  Suggestions?  An example program?