summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mysql/mysqldb.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-12-04 16:26:44 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2020-12-08 08:46:49 -0500
commitdc60de7c105234b6144cd7c24411abbc3363406e (patch)
tree843ff7166813d6c24e1d927dd7af13ce1cfbcf64 /lib/sqlalchemy/dialects/mysql/mysqldb.py
parent0d7c12735b0a871205c23904320a6f42384df1e8 (diff)
downloadsqlalchemy-dc60de7c105234b6144cd7c24411abbc3363406e.tar.gz
add aiomysql support
Fixes: #5747 Change-Id: Ia8ad3efe3b50ce75a3bed1e020e1b82acb5f2eda
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql/mysqldb.py')
-rw-r--r--lib/sqlalchemy/dialects/mysql/mysqldb.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/mysqldb.py b/lib/sqlalchemy/dialects/mysql/mysqldb.py
index b20e061fb..605407f46 100644
--- a/lib/sqlalchemy/dialects/mysql/mysqldb.py
+++ b/lib/sqlalchemy/dialects/mysql/mysqldb.py
@@ -211,16 +211,25 @@ class MySQLDialect_mysqldb(MySQLDialect):
# FOUND_ROWS must be set in CLIENT_FLAGS to enable
# supports_sane_rowcount.
client_flag = opts.get("client_flag", 0)
+
+ client_flag_found_rows = self._found_rows_client_flag()
+ if client_flag_found_rows is not None:
+ client_flag |= client_flag_found_rows
+ opts["client_flag"] = client_flag
+ return [[], opts]
+
+ def _found_rows_client_flag(self):
if self.dbapi is not None:
try:
CLIENT_FLAGS = __import__(
self.dbapi.__name__ + ".constants.CLIENT"
).constants.CLIENT
- client_flag |= CLIENT_FLAGS.FOUND_ROWS
except (AttributeError, ImportError):
- self.supports_sane_rowcount = False
- opts["client_flag"] = client_flag
- return [[], opts]
+ return None
+ else:
+ return CLIENT_FLAGS.FOUND_ROWS
+ else:
+ return None
def _extract_error_code(self, exception):
return exception.args[0]