Florent Guillaume wrote:
+Transactions now support savepoints.  Savepoints allow changes to be
+periodically be checkpointed within a transaction.  You can then
+rollback to a previously created savepoint.  See

Awesome. That's really nice to have, thanks.

A detail I saw:

+class IDataManager(zope.interface.Interface):


+    def tpc_begin(transaction):
+        """Begin commit of a transaction, starting the two-phase commit.
+        transaction is the ITransaction instance associated with the
+        transaction being committed.
+        subtransaction is a Boolean flag indicating whether the
+        two-phase commit is being invoked for a subtransaction.
+        Important note: Subtransactions are modelled in the sense that
+        when you commit a subtransaction, subsequent commits should be
+        for subtransactions as well.  That is, there must be a
+        commit_sub() call between a tpc_begin() call with the
+        subtransaction flag set to true and a tpc_begin() with the
+        flag set to false.
+        """

But there's not "subtransaction" flag for this method anymore.

Right. Are you worried that this is a backward compatibility issue? This is a point that I didn't think of. However, I wonder if this will be a problem. Many old data managers seem to accept a single argument. It's hard to imagine someone actualy writing a data manager that supports subtransactions.

Perhaps we need to send a query to zodb-dev and zope-dev.


Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to