[Checkins] SVN: zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/ SA 0.5 support:

Martijn Faassen faassen at infrae.com
Thu Jun 19 12:57:03 EDT 2008


Log message for revision 87556:
  SA 0.5 support:
  
  * transactional = True -> autocommit = False
  
  * apparently query.table access doesn't work anymore,
     instead use classes and tables directly.
  

Changed:
  U   zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/datamanager.py
  U   zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/tests.py

-=-
Modified: zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/datamanager.py
===================================================================
--- zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/datamanager.py	2008-06-19 16:36:24 UTC (rev 87555)
+++ zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/datamanager.py	2008-06-19 16:56:58 UTC (rev 87556)
@@ -43,7 +43,7 @@
     implements(ISavepointDataManager)
 
     def __init__(self, session, status):
-        if session.transactional:
+        if not session.autocommit:
             self.tx = session.transaction._iterate_parents()[-1]
         else:
             assert session.transaction is None

Modified: zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/tests.py
===================================================================
--- zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/tests.py	2008-06-19 16:36:24 UTC (rev 87555)
+++ zope.sqlalchemy/branches/sqlalchemy-0.5-support/src/zope/sqlalchemy/tests.py	2008-06-19 16:56:58 UTC (rev 87556)
@@ -54,14 +54,14 @@
 Session = orm.scoped_session(orm.sessionmaker(
     bind=engine,
     extension=tx.ZopeTransactionExtension(),
-    transactional=True,
+    autocommit=False,
     autoflush=True,
     twophase=TEST_TWOPHASE,
     ))
 
 UnboundSession = orm.scoped_session(orm.sessionmaker(
     extension=tx.ZopeTransactionExtension(),
-    transactional=True,
+    autocommit=False,
     autoflush=True,
     twophase=TEST_TWOPHASE,
     ))
@@ -165,14 +165,14 @@
         session.save(User(id=2, firstname='heino', lastname='n/a'))
         session.flush()
         
-        rows = query.order_by(query.table.c.id).all()
+        rows = query.order_by(User.id).all()
         self.assertEqual(len(rows), 2)
         row1 = rows[0]
         d = row1.asDict()
         self.assertEqual(d, {'firstname' : 'udo', 'lastname' : 'juergens', 'id' : 1})
         
         # bypass the session machinary
-        stmt = sql.select(query.table.columns).order_by('id')
+        stmt = sql.select(test_users.columns).order_by('id')
         conn = session.connection()
         results = conn.execute(stmt)
         self.assertEqual(results.fetchall(), [(1, u'udo', u'juergens'), (2, u'heino', u'n/a')])
@@ -240,26 +240,26 @@
         session.save(User(id=2, firstname='heino', lastname='n/a'))
         session.flush()
 
-        rows = query.order_by(query.table.c.id).all()
+        rows = query.order_by(User.id).all()
         self.assertEqual(len(rows), 2)
         
         transaction.abort() # test that the abort really aborts
         session = Session()
         query = session.query(User)
-        rows = query.order_by(query.table.c.id).all()
+        rows = query.order_by(User.id).all()
         self.assertEqual(len(rows), 0)
         
         session.save(User(id=1, firstname='udo', lastname='juergens'))
         session.save(User(id=2, firstname='heino', lastname='n/a'))
         session.flush()
-        rows = query.order_by(query.table.c.id).all()
+        rows = query.order_by(User.id).all()
         row1 = rows[0]
         d = row1.asDict()
         self.assertEqual(d, {'firstname' : 'udo', 'lastname' : 'juergens', 'id' : 1})
         
         transaction.commit()
 
-        rows = query.order_by(query.table.c.id).all()
+        rows = query.order_by(User.id).all()
         self.assertEqual(len(rows), 2)
         row1 = rows[0]
         d = row1.asDict()
@@ -282,7 +282,7 @@
         query = session.query(User)
         # lets just test that savepoints don't affect commits
         t = transaction.get()
-        rows = query.order_by(query.table.c.id).all()
+        rows = query.order_by(User.id).all()
 
         s1 = t.savepoint()
         session.delete(rows[1])
@@ -348,7 +348,7 @@
                 session.save(User(id=2, firstname='heino', lastname='n/a'))
                 session.flush()
 
-                rows = query.order_by(query.table.c.id).all()
+                rows = query.order_by(User.id).all()
                 self.assertEqual(len(rows), 2)
                 row1 = rows[0]
                 d = row1.asDict()



More information about the Checkins mailing list