弃用了
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)