Fixed #22321 -- Wrapped exceptions in _set_autocommit.

Refs #21202.
This commit is contained in:
Aymeric Augustin 2014-03-23 23:09:26 +01:00
parent d5031ecf88
commit 3becac8484
4 changed files with 14 additions and 10 deletions

View File

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

View File

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

View File

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

View File

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