[1.7.x] Fixed #21166 -- Reset errors_occurred flag after commit and rollback.
Backport of 3033a71
from master.
Conflicts:
django/db/backends/__init__.py
This commit is contained in:
parent
788fce4c91
commit
6b38e48ba1
|
@ -170,6 +170,8 @@ class BaseDatabaseWrapper(object):
|
|||
self.validate_no_atomic_block()
|
||||
self._commit()
|
||||
self.set_clean()
|
||||
# A successful commit means that the database connection works.
|
||||
self.errors_occurred = False
|
||||
|
||||
def rollback(self):
|
||||
"""
|
||||
|
@ -179,6 +181,8 @@ class BaseDatabaseWrapper(object):
|
|||
self.validate_no_atomic_block()
|
||||
self._rollback()
|
||||
self.set_clean()
|
||||
# A successful rollback means that the database connection works.
|
||||
self.errors_occurred = False
|
||||
|
||||
def close(self):
|
||||
"""
|
||||
|
@ -475,6 +479,8 @@ class BaseDatabaseWrapper(object):
|
|||
self.close()
|
||||
return
|
||||
|
||||
# If an exception other than DataError or IntegrityError occurred
|
||||
# since the last commit / rollback, check if the connection works.
|
||||
if self.errors_occurred:
|
||||
if self.is_usable():
|
||||
self.errors_occurred = False
|
||||
|
|
Loading…
Reference in New Issue