summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-05-28 17:59:06 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-05-28 17:59:06 +0000
commitf49dcdd2cfda803eabc750a0de2127ede60d4c8a (patch)
treeb49e9b7d0ade825a7e09bd0c64215d65ed0bade4
parent6b03def6cc293bd0117a21999706f43e675f1005 (diff)
downloadsqlalchemy-f49dcdd2cfda803eabc750a0de2127ede60d4c8a.tar.gz
would help if commit() worked too...
-rw-r--r--lib/sqlalchemy/engine/threadlocal.py4
-rw-r--r--test/transaction.py30
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()