From: Mike Bayer Date: Mon, 21 Apr 2025 13:44:40 +0000 (-0400) Subject: disable mysql/connector-python, again X-Git-Tag: rel_2_0_41~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fceab85d1a9a3615e65bf488b7a408361907df66;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git disable mysql/connector-python, again Just as we got this driver "working", a new regression is introduced in version 9.3.0 which prevents basic binary string persistence [1]. I would say we need to leave this driver off for another few years until something changes with its upstream maintenance. [1] https://bugs.mysql.com/bug.php?id=118025 Change-Id: If876f63ebb9a6f7dfa0b316df044afa469a154f2 (cherry picked from commit 3217acc1131048aa67744e032fe8816407d8dfba) --- diff --git a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py index 71ac58601c..faeae16abd 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py +++ b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py @@ -22,11 +22,19 @@ degree which the driver is functional. There are still ongoing issues with features such as server side cursors which remain disabled until upstream issues are repaired. +.. warning:: The MySQL Connector/Python driver published by Oracle is subject + to frequent, major regressions of essential functionality such as being able + to correctly persist simple binary strings which indicate it is not well + tested. The SQLAlchemy project is not able to maintain this dialect fully as + regressions in the driver prevent it from being included in continuous + integration. + .. versionchanged:: 2.0.39 The MySQL Connector/Python dialect has been updated to support the latest version of this DBAPI. Previously, MySQL Connector/Python - was not fully supported. + was not fully supported. However, support remains limited due to ongoing + regressions introduced in this driver. Connecting to MariaDB with MySQL Connector/Python -------------------------------------------------- diff --git a/tox.ini b/tox.ini index 576346aec6..76469ebef7 100644 --- a/tox.ini +++ b/tox.ini @@ -38,7 +38,6 @@ extras= mysql: mysql mysql: pymysql mysql: mariadb_connector - mysql: mysql_connector oracle: oracle oracle: oracle_oracledb @@ -146,8 +145,8 @@ setenv= memusage: WORKERS={env:TOX_WORKERS:-n2} mysql: MYSQL={env:TOX_MYSQL:--db mysql} - mysql: EXTRA_MYSQL_DRIVERS={env:EXTRA_MYSQL_DRIVERS:--dbdriver mysqldb --dbdriver pymysql --dbdriver asyncmy --dbdriver aiomysql --dbdriver mariadbconnector --dbdriver mysqlconnector} - mysql-nogreenlet: EXTRA_MYSQL_DRIVERS={env:EXTRA_MYSQL_DRIVERS:--dbdriver mysqldb --dbdriver pymysql --dbdriver mariadbconnector --dbdriver mysqlconnector} + mysql: EXTRA_MYSQL_DRIVERS={env:EXTRA_MYSQL_DRIVERS:--dbdriver mysqldb --dbdriver pymysql --dbdriver asyncmy --dbdriver aiomysql --dbdriver mariadbconnector} + mysql-nogreenlet: EXTRA_MYSQL_DRIVERS={env:EXTRA_MYSQL_DRIVERS:--dbdriver mysqldb --dbdriver pymysql --dbdriver mariadbconnector} mssql: MSSQL={env:TOX_MSSQL:--db mssql} mssql: EXTRA_MSSQL_DRIVERS={env:EXTRA_MSSQL_DRIVERS:--dbdriver pyodbc --dbdriver aioodbc --dbdriver pymssql}