Skip to content

Commit f47279c

Browse files
committed
re-raise if set_autocommit fails
1 parent fa31325 commit f47279c

File tree

3 files changed

+12
-15
lines changed

3 files changed

+12
-15
lines changed

dj_db_conn_pool/backends/jdbc/__init__.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@
1212

1313

1414
class JDBCDatabaseWrapper(PooledDatabaseWrapperMixin):
15-
def _set_autocommit(self, autocommit):
16-
with self.wrap_database_errors:
17-
try:
18-
self.connection.connection.jconn.setAutoCommit(autocommit)
19-
except (Exception, ) as e:
20-
logger.exception('unable to set database(%s) autocommit: %s', self.alias, e)
15+
def _set_dbapi_autocommit(self, autocommit):
16+
self.connection.connection.jconn.setAutoCommit(autocommit)
2117

2218
@property
2319
def jdbc_driver(self):

dj_db_conn_pool/backends/mysql/base.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,5 @@ class DatabaseWrapper(PooledDatabaseWrapperMixin, base.DatabaseWrapper):
1212
class SQLAlchemyDialect(MySQLDialect_pymysql):
1313
server_version_info = (0, )
1414

15-
def _set_autocommit(self, autocommit):
16-
with self.wrap_database_errors:
17-
try:
18-
self.connection.connection.autocommit(autocommit)
19-
except (Exception, ) as e:
20-
logger.exception('unable to set database(%s) autocommit: %s', self.alias, e)
15+
def _set_dbapi_autocommit(self, autocommit):
16+
self.connection.connection.autocommit(autocommit)

dj_db_conn_pool/core/mixins.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,17 @@ def __str__(self):
2020

2121
__repr__ = __str__
2222

23+
def _set_dbapi_autocommit(self, autocommit):
24+
self.connection.connection.autocommit = autocommit
25+
2326
def _set_autocommit(self, autocommit):
2427
with self.wrap_database_errors:
2528
try:
26-
self.connection.connection.autocommit = autocommit
27-
except (Exception, ) as e:
28-
logger.exception('unable to set database(%s) autocommit: %s', self.alias, e)
29+
self._set_dbapi_autocommit(autocommit)
30+
except (Exception, ) as exc:
31+
logger.exception('unable to set autocommit mode of %s(%s) to %s, caused by: %s',
32+
self.vendor, self.alias, autocommit, exc)
33+
raise exc from None
2934

3035
def _get_new_connection(self, conn_params):
3136
return super(PooledDatabaseWrapperMixin, self).get_new_connection(conn_params)

0 commit comments

Comments
 (0)