]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
would help if commit() worked too...
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 28 May 2006 17:59:06 +0000 (17:59 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 28 May 2006 17:59:06 +0000 (17:59 +0000)
lib/sqlalchemy/engine/threadlocal.py
test/transaction.py

index 610eedeaaa0fb4cab64aa3fc22d0d460e89a23cd..d909cbeda2a75ccf5c9c155136f64b4932764a39 100644 (file)
@@ -31,10 +31,10 @@ class TLSession(object):
     def commit(self):
         if self.__tcount == 1:
             try:
-                self._trans.commit()
+                self.__trans.commit()
             finally:
                 del self.__transaction
-                del self._trans
+                del self.__trans
                 self.__tcount = 0
         elif self.__tcount > 1:
             self.__tcount -= 1
index 244da164965e1bea0456dd92db76410f8f9180be..da2e94c05f3b4080f3b194b782185753b15d67dd 100644 (file)
@@ -102,8 +102,28 @@ class TLTransactionTest(testbase.PersistTest):
         tlengine.execute(users.insert(), user_id=3, user_name='user3')
         tlengine.rollback()
 
-        result = tlengine.execute("select * from query_users")
-        assert len(result.fetchall()) == 0
+        external_connection = tlengine.connect()
+        result = external_connection.execute("select * from query_users")
+        try:
+            assert len(result.fetchall()) == 0
+        finally:
+            external_connection.close()
+
+    @testbase.unsupported('mysql')
+    def testcommit(self):
+        """test a basic commit"""
+        tlengine.begin()
+        tlengine.execute(users.insert(), user_id=1, user_name='user1')
+        tlengine.execute(users.insert(), user_id=2, user_name='user2')
+        tlengine.execute(users.insert(), user_id=3, user_name='user3')
+        tlengine.commit()
+
+        external_connection = tlengine.connect()
+        result = external_connection.execute("select * from query_users")
+        try:
+            assert len(result.fetchall()) == 3
+        finally:
+            external_connection.close()
 
     @testbase.unsupported('mysql', 'sqlite')
     def testnesting(self):
@@ -119,8 +139,10 @@ class TLTransactionTest(testbase.PersistTest):
         tlengine.execute(users.insert(), user_id=5, user_name='user5')
         tlengine.commit()
         tlengine.rollback()
-        self.assert_(external_connection.scalar("select count(1) from query_users") == 0)
-        external_connection.close()
+        try:
+            self.assert_(external_connection.scalar("select count(1) from query_users") == 0)
+        finally:
+            external_connection.close()
         
 if __name__ == "__main__":
     testbase.main()