1
0
mirror of https://github.com/django/django.git synced 2024-12-26 19:16:11 +00:00

[1.7.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 2ad0bc132a
commit 1bcc8eb0f6

View File

@ -325,7 +325,13 @@ class Atomic(object):
try: try:
connection.savepoint_commit(sid) connection.savepoint_commit(sid)
except DatabaseError: except DatabaseError:
try:
connection.savepoint_rollback(sid) 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 raise
else: else:
# Commit transaction # Commit transaction
@ -351,7 +357,7 @@ class Atomic(object):
else: else:
try: try:
connection.savepoint_rollback(sid) connection.savepoint_rollback(sid)
except DatabaseError: except Error:
# If rolling back to a savepoint fails, mark for # If rolling back to a savepoint fails, mark for
# rollback at a higher level and avoid shadowing # rollback at a higher level and avoid shadowing
# the original exception. # the original exception.