From af070d037ba4b0787e7bd74add6e5aba04f144d3 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 7 Nov 2007 18:31:35 +0000 Subject: - fixed the close() method on Transaction when using strategy='threadlocal' --- lib/sqlalchemy/engine/threadlocal.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/engine/threadlocal.py') diff --git a/lib/sqlalchemy/engine/threadlocal.py b/lib/sqlalchemy/engine/threadlocal.py index dc6b6007f..8eb039208 100644 --- a/lib/sqlalchemy/engine/threadlocal.py +++ b/lib/sqlalchemy/engine/threadlocal.py @@ -76,7 +76,11 @@ class TLSession(object): self.reset() elif self.__tcount > 1: self.__tcount -= 1 - + + def close(self): + if self.__tcount == 1: + self.rollback() + def is_begun(self): return self.__tcount > 0 @@ -138,6 +142,9 @@ class TLTransaction(base.Transaction): def commit(self): self._session.commit() + def close(self): + self._session.close() + def __enter__(self): return self -- cgit v1.2.1