[1.7.x] Fixed #22321 -- Wrapped exceptions in _set_autocommit.

Refs #21202.

Backport of 3becac84 from master
This commit is contained in:
Aymeric Augustin 2014-03-23 23:09:26 +01:00
parent 7e89434084
commit 5f22bda382
4 changed files with 14 additions and 10 deletions

View File

@ -488,6 +488,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
pass
def _set_autocommit(self, autocommit):
with self.wrap_database_errors:
self.connection.autocommit(autocommit)
def disable_constraint_checking(self):

View File

@ -687,6 +687,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
pass
def _set_autocommit(self, autocommit):
with self.wrap_database_errors:
self.connection.autocommit = autocommit
def check_constraints(self, table_names=None):

View File

@ -192,6 +192,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
self.connection.set_isolation_level(isolation_level)
def _set_autocommit(self, autocommit):
with self.wrap_database_errors:
if self.psycopg2_version >= (2, 4, 2):
self.connection.autocommit = autocommit
else:

View File

@ -411,6 +411,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
level = ''
# 'isolation_level' is a misleading API.
# SQLite always runs at the SERIALIZABLE isolation level.
with self.wrap_database_errors:
self.connection.isolation_level = level
def check_constraints(self, table_names=None):