[ZODB-Dev] transaction.commit(1) break savepoints - patch

Chris Withers chris at simplistix.co.uk
Tue Oct 17 10:36:59 EDT 2006


I'm hoping this is just a simple ordering bug...

Does anyone have any objections to the attached patch?

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk
-------------- next part --------------
Index: _transaction.py
===================================================================
--- _transaction.py	(revision 68677)
+++ _transaction.py	(working copy)
@@ -375,14 +375,14 @@
                          "rollback is possible and then sp.rollback() "
                          "instead of transaction.abort(1)")
 
-        if self._savepoint2index:
-            self._invalidate_all_savepoints()
-
         if subtransaction:
             # TODO deprecate subtransactions
             self._subtransaction_savepoint = self.savepoint(optimistic=True)
             return
 
+        if self._savepoint2index:
+            self._invalidate_all_savepoints()
+
         if self.status is Status.COMMITFAILED:
             self._prior_operation_failed() # doesn't return
 


More information about the ZODB-Dev mailing list