From eb8cd46bf5d64038892c7c2fd3b68c49517d094e Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 22 Feb 2006 00:33:38 +0000 Subject: [PATCH] when begin/commit, an exception should still reset the transactional state --- lib/sqlalchemy/mapping/objectstore.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 -- 2.47.2