[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