summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mysql
diff options
context:
space:
mode:
authorndparker <ndparker@users.noreply.github.com>2014-09-23 23:28:11 +0200
committerndparker <ndparker@users.noreply.github.com>2014-09-23 23:28:11 +0200
commitce52dd9e3b71f2074d7821fe62803d4e0eefe512 (patch)
treef0f9356075b7d85469a98180d17a5e2c91c058e5 /lib/sqlalchemy/dialects/mysql
parent360477cc3af826b5056039b9a19ec3ecb2b94ede (diff)
downloadsqlalchemy-ce52dd9e3b71f2074d7821fe62803d4e0eefe512.tar.gz
improve exception vs. exit handling
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql')
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py4
-rw-r--r--lib/sqlalchemy/dialects/mysql/mysqlconnector.py2
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py
index 7ccd59abb..0994e2416 100644
--- a/lib/sqlalchemy/dialects/mysql/base.py
+++ b/lib/sqlalchemy/dialects/mysql/base.py
@@ -2317,6 +2317,8 @@ class MySQLDialect(default.DefaultDialect):
# basic operations via autocommit fail.
try:
dbapi_connection.commit()
+ except (SystemExit, KeyboardInterrupt):
+ raise
except:
if self.server_version_info < (3, 23, 15):
args = sys.exc_info()[1].args
@@ -2329,6 +2331,8 @@ class MySQLDialect(default.DefaultDialect):
try:
dbapi_connection.rollback()
+ except (SystemExit, KeyboardInterrupt):
+ raise
except:
if self.server_version_info < (3, 23, 15):
args = sys.exc_info()[1].args
diff --git a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py
index e51e80005..afa61d85b 100644
--- a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py
+++ b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py
@@ -103,6 +103,8 @@ class MySQLDialect_mysqlconnector(MySQLDialect):
'client_flags', ClientFlag.get_default())
client_flags |= ClientFlag.FOUND_ROWS
opts['client_flags'] = client_flags
+ except (SystemExit, KeyboardInterrupt):
+ raise
except:
pass
return [[], opts]