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
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
 
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to