[Checkins] SVN: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py re-aranged transaction handling code

Andreas Jung andreas at andreas-jung.com
Sat May 26 10:18:54 EDT 2007


Log message for revision 75962:
  re-aranged transaction handling code
  

Changed:
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py

-=-
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py	2007-05-25 14:47:34 UTC (rev 75961)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py	2007-05-26 14:18:52 UTC (rev 75962)
@@ -38,6 +38,7 @@
 
 
     def get(self, *names):
+#        print len(self.cache.__dict__)
         self.lock.acquire()
         result = [getattr(self.cache, name, None) for name in names]
         self.lock.release()
@@ -145,24 +146,29 @@
         self.transaction = session.create_transaction()
 
     def abort(self, trans):
-        pass
+        self.transaction.rollback()
+        self.session.clear()
+        session_cache.set(last_session=None, last_transaction=None)
 
     def commit(self, trans):
+        pass
         self.session.flush()
 
     def tpc_begin(self, trans):
         pass
 
     def tpc_vote(self, trans):
-        pass
-
-    def tpc_finish(self, trans):
+        self.session.flush()
         self.transaction.commit()
+        self.session.clear()
         session_cache.set(last_session=None, last_transaction=None)
-        
 
+    def tpc_finish(self, trans):
+        pass
+
     def tpc_abort(self, trans):
         self.transaction.rollback()
+        self.session.clear()
         session_cache.set(last_session=None, last_transaction=None)
 
     def sortKey(self):



More information about the Checkins mailing list