diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-22 20:03:09 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-22 20:03:09 +0000 |
commit | 0e0cedaf9dc085f61949fbe93f389f5a1f5b9cf8 (patch) | |
tree | f65b8a9a3647427159fa6dbdf8c29b6d86865b97 /lib/sqlalchemy/engine/threadlocal.py | |
parent | 5f3451fcc3e8930d6396e7a166340c40f231240f (diff) | |
download | sqlalchemy-0e0cedaf9dc085f61949fbe93f389f5a1f5b9cf8.tar.gz |
identified another TLTransaction scenario, and adjusted TLConnection/TLSession to fix this as well (reverted previous change, and overriding in_transaction() instead)
Diffstat (limited to 'lib/sqlalchemy/engine/threadlocal.py')
-rw-r--r-- | lib/sqlalchemy/engine/threadlocal.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/sqlalchemy/engine/threadlocal.py b/lib/sqlalchemy/engine/threadlocal.py index d69a40755..d86828716 100644 --- a/lib/sqlalchemy/engine/threadlocal.py +++ b/lib/sqlalchemy/engine/threadlocal.py @@ -23,12 +23,11 @@ class TLSession(object): except AttributeError: pass self.__tcount = 0 - def begin(self, tlconnection=None): + def in_transaction(self): + return self.__tcount > 0 + def begin(self): if self.__tcount == 0: - if tlconnection is None: - self.__transaction = self.get_connection() - else: - self.__transaction = tlconnection + self.__transaction = self.get_connection() self.__trans = self.__transaction._begin() self.__tcount += 1 return self.__trans @@ -62,8 +61,10 @@ class TLConnection(base.Connection): return TLTransaction(self, parent) def _begin(self): return base.Connection.begin(self) + def in_transaction(self): + return self.session.in_transaction() def begin(self): - return self.session.begin(self) + return self.session.begin() def close(self): if self.__opencount == 1: base.Connection.close(self) |