diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-22 19:46:44 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-22 19:46:44 +0000 |
commit | 5f3451fcc3e8930d6396e7a166340c40f231240f (patch) | |
tree | d3aeb45861ef04706dbd2761b39a9140410a86e3 /lib/sqlalchemy/engine/threadlocal.py | |
parent | 4875953e03b2b06a55b32fba9d4d3f36a480bbf0 (diff) | |
download | sqlalchemy-5f3451fcc3e8930d6396e7a166340c40f231240f.tar.gz |
TLConnection insures that it is used to create a transaction via the session when begin() is called, so that it has proper transactional context, + unittests
Diffstat (limited to 'lib/sqlalchemy/engine/threadlocal.py')
-rw-r--r-- | lib/sqlalchemy/engine/threadlocal.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/engine/threadlocal.py b/lib/sqlalchemy/engine/threadlocal.py index 913c6425a..d69a40755 100644 --- a/lib/sqlalchemy/engine/threadlocal.py +++ b/lib/sqlalchemy/engine/threadlocal.py @@ -23,10 +23,12 @@ class TLSession(object): except AttributeError: pass self.__tcount = 0 - - def begin(self): + def begin(self, tlconnection=None): if self.__tcount == 0: - self.__transaction = self.get_connection() + if tlconnection is None: + self.__transaction = self.get_connection() + else: + self.__transaction = tlconnection self.__trans = self.__transaction._begin() self.__tcount += 1 return self.__trans @@ -61,7 +63,7 @@ class TLConnection(base.Connection): def _begin(self): return base.Connection.begin(self) def begin(self): - return self.session.begin() + return self.session.begin(self) def close(self): if self.__opencount == 1: base.Connection.close(self) |