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

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

添加或更改的功能

  • protobuf.js库已替换为官方google-protobuf npm包。

  • 添加了对 NOWAITand 方法的 支持。例子: 。 SKIP_LOCKEDlockShared()lockExclusive()lockShared( mysqlx.LockContention.SKIP_LOCKED )

  • 添加了 X DevAPI SHA256_MEMORY 身份验证机制。

  • Connector/Node.js 现在支持由 MySQL 8.0.11 及更高版本服务器生成的自动生成的文档 ID 值。

修正错误

  • 针对包含 BIGINT值的表运行选择查询并将这些值用作过滤条件可能无法正常工作。这是因为在对 protobuf 消息进行编码时,这些值被转换为 JavaScript 数字,并且由于 JavaScript 中的最大安全整数为 2^53 - 1 而丢失了精度。(错误 #27570761)

  • 使用该类型的列中的行值 FLOAT未根据架构定义的可显示小数位数的最大数目进行四舍五入。例如,包含值 1.23456789 的类型为 FLOAT(3,2)的列会将其显示为 1.2300000190734863 而不是预期的 1.23。(漏洞 #27570541)

  • 使用该数据类型的列中的行值 BIT被解码为对应的有符号整数,而不是无符号值。例如,b'111'被解码为 -4 而不是 7。(缺陷 #27570462)

  • 连接器将任何类型的无符号整数( TINYINTSMALLINTMEDIUMINTINTBIGINT ) 的列的行值解释为它们的有符号整数值对应项。(漏洞#27570342)

  • sort()方法已添加到以下操作:CollectionFindCollectionRemoveCollectionModify。(漏洞#27429922)

  • 添加文档时,表达式解析器拒绝构成文档属性的有效转义字符串文字,并抛出意外错误。(缺陷号 27429852)

  • 拆分为多个片段的消息(要么是因为它们超过了 MTU,要么是因为 V8 缓冲区的最大大小)被不正确地重建并且无法被解码。此行为会引发类似于Uncaught SyntaxError: Unexpected token的错误。(漏洞#27429429)

  • 以前返回纯 JavaScript 对象的几个方法现在返回可迭代数组。 Schema.getCollections()现在返回一个Collection实例数组, Schema.getTables()现在返回一个 Table实例 数组,现在返回一个实例Session.getSchemas()数组 Schema。(错误#27294362,错误#27221114)

  • 每次添加文档时都会执行表达式解析器,但现在需要显式调用 mysqlx.expr(). 例如,在更改 collection.add({ name: 'foo' })解析 name属性之前;要完成更改后的相同任务,请使用collection.add({ name: mysqlx.expr('"foo"') }). (漏洞#27177864)