-
X DevAPI:以前,当没有
_id
属性的文档被添加到集合中时,Connector/Python 会自动为它们生成 _id。现在 MySQL 8 服务器生成该_id
属性,除非文档已经包含一个。可以使用新get_generated_ids()
方法获取由文档添加操作生成的 ID。此功能需要 MySQL 8.0 服务器。因为 MySQL 5.7 不支持文档 ID 生成,所以如果您没有定义 _id,文档添加操作将返回错误。
不兼容:该
get_generated_ids()
方法替换了现已删除的get_document_ids()
. (缺陷号 27627366) 添加了对 ReadStatement.lock_shared() 和 ReadStatement.lock_exclusive() 方法的NOWAIT和 SKIP_LOCKED支持。用法示例:
lock_exclusive(mysqlx.LockContention.SKIP_LOCKED)
.-
C 扩展 (cext) 现在默认启用,因为该
use_pure
选项默认从 True更改为False。如果 C 扩展在系统上不可用,则使用 Python 实现,并将
use_pure
其设置为True。 -
添加了 X DevAPI SHA256_MEMORY 身份验证机制。
示例 mysqlx.get_session() 用法: ?auth=SHA256_MEMORY通过连接字符串,“auth”:mysqlx.Auth.SHA256_MEMORY 通过字典,或 auth=mysqlx.Auth.SHA256_MEMORY通过方法参数。
警告现在存储为字典列表而不是元组列表。换句话说, get_warnings()返回 [{"level": _level_, "code": _code_, "msg": _msg_}]而不是[(_level_, _code_, _msg_))]。(漏洞 #27639119)
映射的 MySQL 服务器错误代码已与 MySQL 服务器 8.0.11 同步。(漏洞#27634885)
Removed upsert functionality from InsertStatement as it can only be used by collections, so upsert remains available to AddStatement. (Bug #27589450)
MySQLConverter.escape() functionality was added to create_schema()'s count mechanism. (Bug #27528842)
When using prepared statements, string columns were returned as bytearrays instead of strings. The returned value is now a string decoded using the connection's
charset
(defaults to 'utf8'), or as a bytearray if this conversion fails. (Bug #27364914)JSON_TYPE() 的结果作为字节数组而不是字符串返回。返回值现在是使用连接
charset
(默认为“utf8”)解码的字符串,或者如果此转换失败则作为字节数组。(缺陷 #24948205,缺陷 #83516)JSON 整数值在 Python 中被转换为字节而不是整数。(错误#24948186,错误#83513)