diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-05-28 17:59:06 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-05-28 17:59:06 +0000 |
| commit | f49dcdd2cfda803eabc750a0de2127ede60d4c8a (patch) | |
| tree | b49e9b7d0ade825a7e09bd0c64215d65ed0bade4 | |
| parent | 6b03def6cc293bd0117a21999706f43e675f1005 (diff) | |
| download | sqlalchemy-f49dcdd2cfda803eabc750a0de2127ede60d4c8a.tar.gz | |
would help if commit() worked too...
| -rw-r--r-- | lib/sqlalchemy/engine/threadlocal.py | 4 | ||||
| -rw-r--r-- | 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 610eedeaa..d909cbeda 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 244da1649..da2e94c05 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() |
