[1.6.x] Increased robustness of 58161e4e. Refs #22291.

Backport of ee837b9a from master
This commit is contained in:
Aymeric Augustin 2014-04-10 21:14:50 +02:00
parent 1d3d2b9a24
commit 80f6cbbadb
1 changed files with 8 additions and 2 deletions

View File

@ -302,7 +302,13 @@ class Atomic(object):
try:
connection.savepoint_commit(sid)
except DatabaseError:
connection.savepoint_rollback(sid)
try:
connection.savepoint_rollback(sid)
except Error:
# If rolling back to a savepoint fails, mark for
# rollback at a higher level and avoid shadowing
# the original exception.
connection.needs_rollback = True
raise
else:
# Commit transaction
@ -328,7 +334,7 @@ class Atomic(object):
else:
try:
connection.savepoint_rollback(sid)
except DatabaseError:
except Error:
# If rolling back to a savepoint fails, mark for
# rollback at a higher level and avoid shadowing
# the original exception.