弃用了
Row.get_string()支持__getitem__. (漏洞 #26834200,漏洞 #87777)-
为了提高对 X DevAPI 的遵从性,进行了以下连接器/Python 更改:
DatabaseObject:弃用:am_i_real()和who_am_i()。补充:get_session()和session财产。Collection.modify(): 弃用:limit(x, y)的第二个参数where(condition), 和change(CollectionField, ExprOrLiteral). 更改:modify(condition)条件现在是强制性的。Collection.find(): 弃用:limit(x, y)的第二个参数和 where(condition)。补充:limit(x).offset(y)。Collection.remove(): 弃用:limit(x, y)的第二个参数和where(condition). 更改:modify(condition)条件现在是强制性的。Table.select(): 弃用:limit(x, y)的第二个参数和sort(). 补充:limit(x).offset(y)。Table.delete(): 弃用:limit(x, y)的第二个参数和sort(). 删除:delete(x)的参数,转而使用where()。补充:order_by()。Table.update(): 弃用:limit(x, y)的第二个参数和sort()方法。补充:order_by()。Session:补充:get_schemas()。Result:弃用:get_document_id()和get_generated_insert_id()。迁:get_affected_items_count()上课BaseResult。RowResult:补充:get_columns()。SqlResult:补充:has_data()。Column: 重命名ColumnMetaData为Column. 添加的属性:schema_name,table_name,table_label,column_name,column_label,type,length,fractional_digits,collation_name,character_set_name。
由于 Microsoft Visual C++ 2017 Redistributable 安装程序删除了标识其安装的 Microsoft Visual C++ 2015 Redistributable 注册表项,如果同时安装了 Microsoft Visual C++ 2015 Redistributable 和 Microsoft Visual C++ 2017 Redistributable,则独立的 MySQL MSI 可能无法检测到 Microsoft Visual C++ 2015 Redistributable。解决方案是通过 Windows 控制面板修复 Microsoft Visual C++ 2017 Redistributable,重新创建运行时检测所需的注册表项。与独立的 MSI 不同,适用于 Windows 的 MySQL 安装程序包含检测问题的解决方法。(缺陷 #28345281,缺陷 #91542)
删除了 MySQL 结构支持。
-
用于在 Oracle Linux 7 上安装 ARM 64 位 (aarch64) 连接器/Python 二进制文件的 RPM 包现在可在 MySQL Yum 存储库中获得并可直接下载。
此 ARM 版本的已知限制:您必须启用 Oracle Linux 7 软件集合存储库 (ol7_software_collections) 才能安装此程序包,并且还必须调整 libstdc++7 路径。有关更多详细信息,请参阅 Yum 的平台特定说明。
默认字符集从“utf8”(已弃用的“utf8mb3”字符集的别名)更改为“utf8mb4”。(缺陷号 28188883)
-
修复了 Django 2.0 和 MySQL 8.0 之间的日期时间转换兼容性。
解决方法是通过在 Django 的数据库选项中设置“use_pure=True”来使用 Connector/Python 的纯 Python 实现而不是 C 扩展。(缺陷 #27962293,缺陷 #90541)
使用连接器/Python 未知的排序规则进行连接会产生未知字符集错误。它现在可以正确引用未知排序规则。(漏洞#27277937)
-
get_row()和 行为与连接器 的get_rows()C(与 CMySQLConnection 的连接)和纯 Python(与 MySQLConnection 的连接)实现不同。已解决的差异是:使用纯 Python 实现,所有数据都以字节数组的形式返回;而 C 实现使用 CMySQLConnection (cext) 将所有数据作为 Python 类型返回。两者现在都返回 Python 类型。
使用纯 Python 实现,他们返回一个带有 (row(s), eof) 的元组,但使用 C 扩展,他们只返回行。现在两个实现都返回元组形式;(行,eof)。
对于返回结果的查询,对于纯 Python,警告计数是返回的 eof 的一部分。对于 C 扩展,警告计数只能使用连接对象的 warning_count 属性。相关的是,warning_count 属性在纯 Python 实现中不可用。现在,结果包括两种实现的警告计数。
使用纯 Python 获取行会自动将 unread_rows 属性设置为 False。对于 C 扩展,需要显式调用连接对象的 free_result() 方法。相关的是,free_result() 仅适用于 C 扩展。现在,两种实现都将 unread_rows 设置为 False。
(错误#22367904、错误#27411275、错误#27991948、错误#27802700、错误#28133321、错误#27650437、错误#79623、错误#89305、错误#90799、错误#90585、错误#90292、错误#91107)