diff options
Diffstat (limited to 'lib/sqlalchemy/engine/threadlocal.py')
| -rw-r--r-- | lib/sqlalchemy/engine/threadlocal.py | 9 |
1 files changed, 8 insertions, 1 deletions
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 |
