[Checkins] SVN: zope.sqlalchemy/branches/dummy-savepoint/src/zope/sqlalchemy/datamanager.py various fixes

Andreas Jung andreas at andreas-jung.com
Sun Jan 4 10:44:48 EST 2009


Log message for revision 94500:
  various fixes
  

Changed:
  U   zope.sqlalchemy/branches/dummy-savepoint/src/zope/sqlalchemy/datamanager.py

-=-
Modified: zope.sqlalchemy/branches/dummy-savepoint/src/zope/sqlalchemy/datamanager.py
===================================================================
--- zope.sqlalchemy/branches/dummy-savepoint/src/zope/sqlalchemy/datamanager.py	2009-01-04 13:18:31 UTC (rev 94499)
+++ zope.sqlalchemy/branches/dummy-savepoint/src/zope/sqlalchemy/datamanager.py	2009-01-04 15:44:48 UTC (rev 94500)
@@ -100,25 +100,28 @@
            subtransactions
         """
 
-        engines = set(engine.url.drivername
+        engines = [engine
                   for engine in self.session.transaction._connections.keys()
-                  if isinstance(engine, Engine))
+                  if isinstance(engine, Engine)]
 
-        # ATT: is this always true?
         assert len(engines) == 1, 'len(engines) != 1' 
         engine = engines[0]
         min_version = RDBMS_WITH_SAVEPOINT_SUPPORT.get(engine.url.drivername,
                                                        None)
         if min_version is not None:
             # server_version_info() return the server version number as tuple
-            if engine.dialect.server_version_info() > min_version:
+            if engine.dialect.server_version_info(engine) > min_version:
                 return self._savepoint
-        return DummySavePoint(self.session)
 
+        return self._dummysavepoint
+
     def _savepoint(self):
         return SessionSavepoint(self.session)
 
+    def _dummysavepoint(self):
+        return DummySessionSavepoint(self.session)
 
+
 class TwoPhaseSessionDataManager(SessionDataManager):
     """Two phase variant.
     """



More information about the Checkins mailing list