[packages/python3-mysql-connector] Default to utf8 on servers older than 5.5.3, which have no utf8mb4 (connect to MySQL 5.0 failed with
arekm
arekm at pld-linux.org
Fri Oct 9 18:00:48 CEST 2026
commit d4f7f7d509595e70d62858d97c0eb251dc92be5a
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Fri Oct 9 18:00:01 2026 +0200
Default to utf8 on servers older than 5.5.3, which have no utf8mb4 (connect to MySQL 5.0 failed with 1115); rel 3
pre-5.5.3-charset.patch | 56 ++++++++++++++++++++++++++++++++++++++++++++
python3-mysql-connector.spec | 4 +++-
2 files changed, 59 insertions(+), 1 deletion(-)
---
diff --git a/python3-mysql-connector.spec b/python3-mysql-connector.spec
index 0b5023f..4c5e1bb 100644
--- a/python3-mysql-connector.spec
+++ b/python3-mysql-connector.spec
@@ -17,7 +17,7 @@ Name: python3-%{pname}
# check documentation to see which version is GA (we don't want devel releases)
# https://dev.mysql.com/downloads/connector/python/
Version: 9.7.0
-Release: 2
+Release: 3
License: GPL v2
Group: Libraries/Python
Source0: http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-%{version}-src.tar.gz
@@ -29,6 +29,7 @@ Patch2: plugin-dir.patch
Patch3: tests-config-leak.patch
Patch4: tests-webauthn-probe.patch
Patch5: tests-restart-race.patch
+Patch6: pre-5.5.3-charset.patch
URL: http://dev.mysql.com/doc/connector-python/en/
BuildRequires: mysql%{mysql_ver}-devel
BuildRequires: protobuf-devel >= 3.0.0
@@ -59,6 +60,7 @@ MySQL Connector/Python to protokół klient-serwer MySQL-a.
%patch -P3 -p1
%patch -P4 -p1
%patch -P5 -p1
+%patch -P6 -p1
%build
export MYSQL_CAPI=%{_bindir}/mysql_config%{mysql_ver}
diff --git a/pre-5.5.3-charset.patch b/pre-5.5.3-charset.patch
new file mode 100644
index 0000000..f83d2c4
--- /dev/null
+++ b/pre-5.5.3-charset.patch
@@ -0,0 +1,56 @@
+diff -urN a/mysql-connector-python/lib/mysql/connector/abstracts.py b/mysql-connector-python/lib/mysql/connector/abstracts.py
+--- a/mysql-connector-python/lib/mysql/connector/abstracts.py 2026-03-26 11:06:51.000000000 +0100
++++ b/mysql-connector-python/lib/mysql/connector/abstracts.py 2026-10-09 17:25:01.356303271 +0200
+@@ -76,6 +76,7 @@
+ CONN_ATTRS_DN,
+ DEFAULT_CONFIGURATION,
+ DEPRECATED_METHOD_WARNING,
++ MYSQL_DEFAULT_CHARSET_ID_50,
+ MYSQL_DEFAULT_CHARSET_ID_57,
+ MYSQL_DEFAULT_CHARSET_ID_80,
+ OPENSSL_CS_NAMES,
+@@ -1348,7 +1349,9 @@
+ return MYSQL_DEFAULT_CHARSET_ID_57
+
+ self.__charset_id = (
+- MYSQL_DEFAULT_CHARSET_ID_57
++ MYSQL_DEFAULT_CHARSET_ID_50
++ if self._server_version < (5, 5, 3)
++ else MYSQL_DEFAULT_CHARSET_ID_57
+ if self._server_version < (8, 0)
+ else MYSQL_DEFAULT_CHARSET_ID_80
+ )
+diff -urN a/mysql-connector-python/lib/mysql/connector/aio/abstracts.py b/mysql-connector-python/lib/mysql/connector/aio/abstracts.py
+--- a/mysql-connector-python/lib/mysql/connector/aio/abstracts.py 2026-03-26 11:06:51.000000000 +0100
++++ b/mysql-connector-python/lib/mysql/connector/aio/abstracts.py 2026-10-09 17:25:01.364380452 +0200
+@@ -84,6 +84,7 @@
+ CONN_ATTRS_DN,
+ DEFAULT_CONFIGURATION,
+ DEPRECATED_METHOD_WARNING,
++ MYSQL_DEFAULT_CHARSET_ID_50,
+ MYSQL_DEFAULT_CHARSET_ID_57,
+ MYSQL_DEFAULT_CHARSET_ID_80,
+ OPENSSL_CS_NAMES,
+@@ -1154,7 +1155,9 @@
+
+ self.__charset = charsets.get_by_id(
+ (
+- MYSQL_DEFAULT_CHARSET_ID_57
++ MYSQL_DEFAULT_CHARSET_ID_50
++ if self._server_info.version_tuple < (5, 5, 3)
++ else MYSQL_DEFAULT_CHARSET_ID_57
+ if self._server_info.version_tuple < (8, 0)
+ else MYSQL_DEFAULT_CHARSET_ID_80
+ )
+diff -urN a/mysql-connector-python/lib/mysql/connector/constants.py b/mysql-connector-python/lib/mysql/connector/constants.py
+--- a/mysql-connector-python/lib/mysql/connector/constants.py 2026-03-26 11:06:51.000000000 +0100
++++ b/mysql-connector-python/lib/mysql/connector/constants.py 2026-10-09 17:25:01.317673561 +0200
+@@ -48,6 +48,8 @@
+ """Expected `typecode` when decoding VECTOR values from
+ MySQL (blob) to Python (array.array).
+ """
++# utf8_general_ci; servers before 5.5.3 have no utf8mb4
++MYSQL_DEFAULT_CHARSET_ID_50 = 33
+ MYSQL_DEFAULT_CHARSET_ID_57 = 45
+ MYSQL_DEFAULT_CHARSET_ID_80 = 255
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python3-mysql-connector.git/commitdiff/d4f7f7d509595e70d62858d97c0eb251dc92be5a
More information about the pld-cvs-commit
mailing list