summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
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
parent360477cc3af826b5056039b9a19ec3ecb2b94ede (diff)
downloadsqlalchemy-ce52dd9e3b71f2074d7821fe62803d4e0eefe512.tar.gz
improve exception vs. exit handling
Diffstat (limited to 'lib/sqlalchemy/dialects')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py2
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py4
-rw-r--r--lib/sqlalchemy/dialects/mysql/mysqlconnector.py2
3 files changed, 8 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index ba3050ae5..ade2d00cb 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -846,6 +846,8 @@ class MSExecutionContext(default.DefaultExecutionContext):
"SET IDENTITY_INSERT %s OFF" %
self.dialect.identifier_preparer. format_table(
self.compiled.statement.table)))
+ except (SystemExit, KeyboardInterrupt):
+ raise
except:
pass
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]