summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/threadlocal.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-01-08 16:14:47 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2011-01-08 16:14:47 -0500
commit4e9e0f041c151cfa08d57773b49b254f1b4f8b6a (patch)
treed562a026e88c93edae2f41ab3c1605881be3b3cd /lib/sqlalchemy/engine/threadlocal.py
parent411cbf29e9742806bd76a69008981fee1371fe78 (diff)
downloadsqlalchemy-4e9e0f041c151cfa08d57773b49b254f1b4f8b6a.tar.gz
- merge r43460573c27a:4993c7eae8e5d117ff342bdc59f3b0635b898e2c of 0.6 branch
Diffstat (limited to 'lib/sqlalchemy/engine/threadlocal.py')
-rw-r--r--lib/sqlalchemy/engine/threadlocal.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/threadlocal.py b/lib/sqlalchemy/engine/threadlocal.py
index 2ce0922bf..d4d0488a9 100644
--- a/lib/sqlalchemy/engine/threadlocal.py
+++ b/lib/sqlalchemy/engine/threadlocal.py
@@ -71,16 +71,28 @@ class TLEngine(base.Engine):
if not hasattr(self._connections, 'trans'):
self._connections.trans = []
self._connections.trans.append(self.contextual_connect().begin_twophase(xid=xid))
+ return self
def begin_nested(self):
if not hasattr(self._connections, 'trans'):
self._connections.trans = []
self._connections.trans.append(self.contextual_connect().begin_nested())
+ return self
def begin(self):
if not hasattr(self._connections, 'trans'):
self._connections.trans = []
self._connections.trans.append(self.contextual_connect().begin())
+ return self
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, type, value, traceback):
+ if type is None:
+ self.commit()
+ else:
+ self.rollback()
def prepare(self):
if not hasattr(self._connections, 'trans') or \