From: Mike Bayer Date: Wed, 22 Feb 2006 00:33:38 +0000 (+0000) Subject: when begin/commit, an exception should still reset the transactional state X-Git-Tag: rel_0_1_1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb8cd46bf5d64038892c7c2fd3b68c49517d094e;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git when begin/commit, an exception should still reset the transactional state --- diff --git a/lib/sqlalchemy/mapping/objectstore.py b/lib/sqlalchemy/mapping/objectstore.py index e68c59e30d..311a6c5420 100644 --- a/lib/sqlalchemy/mapping/objectstore.py +++ b/lib/sqlalchemy/mapping/objectstore.py @@ -119,9 +119,11 @@ class Session(object): def _trans_commit(self, trans): if trans.uow is self.uow and trans.isactive: - self.uow.commit() - self.uow = self.parent_uow - self.parent_uow = None + try: + self.uow.commit() + finally: + self.uow = self.parent_uow + self.parent_uow = None def _trans_rollback(self, trans): if trans.uow is self.uow: self.uow = self.parent_uow