tdb_sql: Protect TransactionSet against failures in rollback.

This commit is contained in:
Neil Williams
2012-10-23 11:13:27 -07:00
parent 4bb51e74a7
commit b501ab6771

View File

@@ -77,15 +77,19 @@ class TransactionSet(threading.local):
def commit(self):
"""Commit the meta-transaction."""
for engine in self.transacting_engines:
engine.commit()
self._clear()
try:
for engine in self.transacting_engines:
engine.commit()
finally:
self._clear()
def rollback(self):
"""Roll back the meta-transaction."""
for engine in self.transacting_engines:
engine.rollback()
self._clear()
try:
for engine in self.transacting_engines:
engine.rollback()
finally:
self._clear()
def _clear(self):
self.transacting_engines.clear()