[Checkins] SVN: z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/ using a scoped_session()

Andreas Jung andreas at andreas-jung.com
Sat Mar 15 21:41:44 EDT 2008


Log message for revision 84695:
  using a scoped_session()
  

Changed:
  U   z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/base.py
  U   z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/tests/testSQLAlchemy.py

-=-
Modified: z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/base.py
===================================================================
--- z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/base.py	2008-03-16 01:31:00 UTC (rev 84694)
+++ z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/base.py	2008-03-16 01:41:43 UTC (rev 84695)
@@ -11,7 +11,7 @@
 
 import sqlalchemy
 from sqlalchemy.engine.url import make_url
-from sqlalchemy.orm import sessionmaker
+from sqlalchemy.orm import sessionmaker, scoped_session
 
 import transaction
 from transaction.interfaces import ISavepointDataManager, IDataManagerSavepoint
@@ -59,10 +59,6 @@
         self._createEngine()
         self._id = str(random.random()) # used as unique key for session/connection cache
 
-        util = AlchemyEngineUtility(dsn=dsn, 
-                                    echo=kw.get('echo', ),
-                                    name='foo')
-
         if model:
 
             if isinstance(model, Model):
@@ -132,6 +128,7 @@
                                                          autoflush=True,
                                                          transactional=True,
                                                          **self.session_options)
+        self._sessionmaker = scoped_session(self._sessionmaker)
 
 ZopeBaseWrapper = BaseWrapper
 

Modified: z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
===================================================================
--- z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/tests/testSQLAlchemy.py	2008-03-16 01:31:00 UTC (rev 84694)
+++ z3c.sqlalchemy/branches/reusing-zalchemy/src/z3c/sqlalchemy/tests/testSQLAlchemy.py	2008-03-16 01:41:43 UTC (rev 84695)
@@ -179,6 +179,14 @@
         user.skills.append(Skill(id=1, name='Zope'))
         session.flush()
 
+
+    def testSameSessionWithinSameThread(self):
+        db = createSAWrapper(self.dsn)
+        s1 = db.session
+        s2 = db.session
+        assert s1 is s2
+
+
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()



More information about the Checkins mailing list