Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 8.0 中的更改  /  MySQL Connector/Python 8.0.11 的变化(2018-04-19,全面上市)

MySQL Connector/Python 8.0.11 的变化(2018-04-19,全面上市)

添加或更改的功能

  • 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() 方法的NOWAITSKIP_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)