Commit 6b38e48b authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

[1.7.x] Fixed #21166 -- Reset errors_occurred flag after commit and rollback.

Backport of 3033a719 from master.

Conflicts:
	django/db/backends/__init__.py
parent 788fce4c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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