[ZODB-Dev] Re: [Zodb-checkins] SVN: ZODB/branches/3.4/src/ Added savepoints!

Jim Fulton jim at zope.com
Mon Apr 25 10:11:49 EDT 2005


Florent Guillaume wrote:
>>+Transactions
>>+------------
>>+
>>+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
>>+transaction/savepoint.txt.
> 
> 
> 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

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the ZODB-Dev mailing list