[Checkins] SVN: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/ now returning a dummy savepoint

Andreas Jung andreas at andreas-jung.com
Sat Feb 16 03:26:25 EST 2008


Log message for revision 83879:
  now returning a dummy savepoint
  

Changed:
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/version.txt

-=-
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt	2008-02-16 03:18:08 UTC (rev 83878)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt	2008-02-16 08:26:24 UTC (rev 83879)
@@ -1,3 +1,9 @@
+1.1.2 (16.02.2008)
+-------------------
+
+  - fixed ZODB savepoint implementation. Now returning a proper dummy
+    savepoint
+
 1.1.1 (13.02.2008)
 -------------------
 

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py	2008-02-16 03:18:08 UTC (rev 83878)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py	2008-02-16 08:26:24 UTC (rev 83879)
@@ -22,7 +22,7 @@
 from z3c.sqlalchemy.mapper import LazyMapperCollection
 
 import transaction
-from transaction.interfaces import ISavepointDataManager
+from transaction.interfaces import ISavepointDataManager, IDataManagerSavepoint
 
 
 class SynchronizedThreadCache(object):
@@ -202,7 +202,8 @@
     def tpc_finish(self, trans):
 
         if self.transaction is not None:
-            self.transaction.commit()
+            while self.session.transaction.nested():
+                self.session.commit()
 
         self.session.clear()
         self._cleanup()
@@ -224,9 +225,26 @@
         connection_cache.remove(self._id)
 
     def savepoint(self):
-        """ empty implementation """
+        """ return a dummy savepoint """
+        return AlchemySavepoint()
+
+
+
+# taken from z3c.zalchemy
+
+class AlchemySavepoint(object):
+    """A dummy saveoint """
+
+    implements(IDataManagerSavepoint)
+
+    def __init__(self):
         pass
 
+    def rollback(self):
+        pass
+
+
+
 class ZopeBaseWrapper(BaseWrapper):
     """ A wrapper to be used from within Zope. It connects
         the session with the transaction management of Zope.

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/version.txt
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/version.txt	2008-02-16 03:18:08 UTC (rev 83878)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/version.txt	2008-02-16 08:26:24 UTC (rev 83879)
@@ -1 +1 @@
-1.1.1
+1.1.2



More information about the Checkins mailing list