From f49dcdd2cfda803eabc750a0de2127ede60d4c8a Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 28 May 2006 17:59:06 +0000 Subject: [PATCH] would help if commit() worked too... --- lib/sqlalchemy/engine/threadlocal.py | 4 ++-- test/transaction.py | 30 ++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lib/sqlalchemy/engine/threadlocal.py b/lib/sqlalchemy/engine/threadlocal.py index 610eedeaaa..d909cbeda2 100644 --- a/lib/sqlalchemy/engine/threadlocal.py +++ b/lib/sqlalchemy/engine/threadlocal.py @@ -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 diff --git a/test/transaction.py b/test/transaction.py index 244da16496..da2e94c05f 100644 --- a/test/transaction.py +++ b/test/transaction.py @@ -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() -- 2.47.3