在macOS系统下,官方支持的Protobuf版本为3.12.0之前的版本。(错误# 31390263)
实现了上下文管理器,以定义在执行with语句时建立的运行时上下文。它被添加到经典协议中的Connection和Cursor对象,以及X DevAPI中的Session。感谢施文峰的补丁。(Bug #19586444, Bug #71663, Bug #28779784, Bug #89113)
为X协议连接增加了压缩支持。支持的压缩算法有zlib /缩小而且lz4.具体来说,支持的算法(按优先级排序)是lz4_message和deflate_stream。压缩阈值设置为1000字节。
一个新的
压缩
X DevAPI连接选项接受任何一个要求,禁用,或首选(默认)。首选:如果Connector/Python和服务器不能在算法或样式上达成一致,则不使用压缩;这是记录的。
要求:就像首选,如果连接器和服务器无法达成一致,则连接将因错误而终止。
禁用:不压缩。
文档存储:Connector/Python现在为集合提供JSON模式验证,以强制执行文档在被允许插入或更新之前必须遵循的特定结构。模式验证由服务器执行,如果集合中的文档与模式定义不匹配,或者服务器不支持验证,服务器将返回错误消息。
的
schema.create_collection
方法添加了一个新的验证参数,作为JSON模式规范的字典或字符串表示。执法水平(从
或严格的
,严格的
默认情况下)和模式定义如下例所示:Coll = schema。create_collection("longlang",验证={"level": "strict", "schema": {"id": "http://json-schema.org/geo", "$schema": "http://json-schema.org/draft-06/schema#", "description": "地理坐标","type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}}, "required": ["latitude", "longitude"]}})
此外,一个新的
schema.modify_collection
方法允许重置现有集合的模式验证。的验证
集合选项必须包括已修改的水平
值或模式
价值,或者两者都有。
connect_timeout选项应用于所有阻塞套接字操作,但现在正确地只应用于建立连接时的超时。(错误# 30996790)
在X DevAPI实现中,在DATETIME类型中使用小数部分时引发错误。错误:“ValueError: Datetime映射场景未处理”(Bug #30950184)
因为MySQL将TEXT类型存储为BLOB, JSON存储为LONGBLOB,所以TEXT和JSON类型现在转换为str其余的BLOB类型作为字节。前面,作为一个例子,一个TEXT类型的列只包含数字,被Connector/Python读取为type=integer。(Bug #29808262, Bug #95437)
Connector/Python在编译C扩展时假定MySQL库在lib/下,但现在使用mysql_config标志添加正确的包含和库路径。感谢Daniël van Eeden提供的补丁。(Bug #29181907, Bug #93846)
当使用X DevAPI时,尝试使用Table对象更改值会产生“未知列'doc'在'字段列表'”异常。(Bug #28627768, Bug #27602636)