相关的文档10bet官方网站 下载这些发行说明
PDF(美版)- 245.3 kb
PDF (A4)- 243.7 kb


MySQL连接器/ j8.0发布说明/ MySQL Connector/ j8.0.8的更改(2017-09-28,开发里程碑)

MySQL Connector/ j8.0.8的变更(2017-09-28,开发里程碑)

8.0.8版本开发里程碑是MySQL Connector/J 8.0分支的最新开发版本,提供了对即将到来的特性的洞察。适用于MySQL Server 5.5、5.6、5.7、8.0版本。它支持Java数据库连接(JDBC) 4.2 API。

新增或更改的功能

  • 包装:安装Connector/J的RPM和Debian软件包现在可以从连接器/J下载页面

  • X DevAPI:Connector/J实现了X Dev API的一个新接口,该接口允许检索、添加、删除和更新持久会话延续数据。实现包括以下内容:

    • 一个SessionConfig对象,该对象保存会话配置数据集的信息。

    • 一个PersistenceHandler接口,该接口允许自定义持久性处理程序的实现。

    • 一个PasswordHandler接口,该接口允许自定义实现密码处理代码。

    • 一个SessionConfigManager类用于编辑和获取Sessionconfig对象的实例,并定义PersistenceHandlerPasswordHandler

    看到MySQL连接器/ jx DevAPI参考了解更多详情。

  • X DevAPI:一个新的连接属性,xdevapi.auth,用于指定使用X协议的连接的身份验证机制。允许的值是MYSQL41平原,外部。中的新属性条目见配置属性获取详细信息。

  • X DevAPI:支持行锁find ()X DevAPI的FindStatementSelecStatement接口的扩展方法如下:

    • lockExclusive(),其工作原理类似于选择……更新对于关系表。

    • lockShared(),其工作原理与选择……共享模式锁定(MySQL 5.7)或选择……为分享(适用于MySQL 8.0)用于关系表。

    看到MySQL连接器/ jx DevAPI参考了解更多详情。

  • X DevAPI:的扩展语法不是在操作符,可以检查子表达式是否包含在另一个子表达式中;例如:

    //对于文档,col .find("$。b IN [100,101,102]").execute();科尔。Find (" $.a中包含5432的文本").execute();科尔。Find ("1 in [1,2,4]").execute();科尔。找到(“{a: 3}在{“a”:1、“b”:2}"). execute ();//对于关系表table .select()。Where ("3 not in [1,2,4]").execute(); tbl.select().where("'qqq' not in $.a").execute(); tbl.select().where("{'a': 1} in {'a': 1, 'b': 2}").execute();

  • X DevAPI:已经实现了许多更改下降X DevAPI的方法:

    • 删除dropCollection (schemaName collectionName)dropTable (schemaName,表名)会话

    • 添加dropCollection (collectionName)dropTable(表)模式

    • Schema.dropView ()现在立即执行并返回无效;此外,ViewDrop接口被移除。

    • Collection.dropIndex ()现在立即执行并返回无效;也DropCollectionIndexStatement接口被移除。

    • 下降现在,即使要删除的对象不存在,方法也会成功。

  • 从MySQL转换时间数据java.sql.Date现在支持。在过去,a获取当前日期()从TIME列检索数据将抛出SQLException异常。现在,这样的检索返回ajava.sql.Date对象,包含从Java纪元开始以毫秒数表示的时间值;同时返回的是警告:SQL TIME字段中不存在Date部分,因此在转换为java.sql.Date时将其设置为1970年1月1日GMT。(错误# 26750807)

  • 一个新的连接属性,enabledTLSProtocols,现在可以用来覆盖用于连接的TLS版本的默认限制,这是由正在连接的MySQL服务器的版本决定的。通过向该选项提供以逗号分隔的值列表(例如,TLSv1、TLSv1.1 TLSv1.2)用户可以,例如,阻止连接使用旧的TLS版本,或允许连接使用仅由用户编译的MySQL服务器支持的TLS版本。中的新属性条目见配置属性获取详细信息。感谢Todd Farmer贡献的代码。(错误# 26646676)

  • 使用最新的IANA和CLDR时区数据库更新了时区映射。(错误# 25946965)

  • 的新选项loadBalancingStrategy连接属性被调用serverAffinity已添加。新连接属性中列出的服务器serverAffinityOrder(它应该是连接URL的主机列表中服务器的一个子集)按照它们列出的顺序进行联系,直到服务器可用或服务器列表耗尽,此时将对未列出的主机使用随机负载平衡策略serverAffinityOrder。请参阅loadBalancingStrategyserverAffinityOrder配置属性获取详细信息。(错误# 20182108)

错误修复

  • 重要的变化:随着MySQL Server 8.0.3的变化,系统变量tx_isolationtx_read_only已经被transaction_isolationtransaction_read_only在连接器/J的代码中。为了连接到MySQL 8.0.3,用户应该将Connector/J更新到这个最新版本。如果他们在自己的代码中使用旧的变量,他们也应该对自己的应用程序进行同样的调整。(错误# 26440544)

  • X DevAPI:调用schema.dropView ()使用null参数会导致NullPointerException。(错误# 26750807)

  • X DevAPI:dropCollection ()应用于空集合,则NullPointerException发生。(错误# 26393132)

  • 当使用缓存的服务器端准备语句时,当语句被分离时,对打开语句的引用被保留,会发生内存泄漏;它发生的时候close ()方法在一条语句上调用了两次,或者当一条语句的缓存项存在冲突,并且旧的条目尚未从打开的语句列表中关闭和删除时。此修复确保在这两种情况下都正确关闭语句。感谢Eduard Gurskiy对修复的贡献。(Bug #26633984, Bug #87429)

  • 由于系统变量的默认值,Bug#63800的回归测试失败explicit_defaults_for_timestamp自8.0.2版以来,MySQL Server的功能发生了变化。考虑到这一变化,测试已经进行了调整。(错误# 26501245)

  • 在MySQL Server 8.0上运行可调用语句会导致SQLException异常ResultSet来自UPDATE。没有数据。(错误# 26259384)

  • 当没有提供自定义信任库时,安全JDBC连接不会回退到默认信任库。(错误# 26243128)

  • com/mysql/jdbc/ServerPreparedStatement.java,论点resultSetTyperesultSetConcurrency为了一个召唤Connection.preparedStatement ()也被替换。(Bug #25874048, Bug #85885)

  • 的正确处理equals ()方法,因此甚至可以将这些代理对象中的一个与它自己的对象进行比较equals ()产生了错误的。的正确处理方法equals ()方法中的所有相关代理。(Bug #21931572, Bug #78313)

  • 当在缓存原始语句时再次准备相同的语句时,服务器端准备的语句不会关闭。这是由于新语句无声地替换旧语句的缓存项造成的。当这种情况反复发生时,它最终引起了人们的抱怨max_prepared_stmt_count被超过。此修复确保当语句的缓存项替换旧的缓存项时,旧的语句将立即关闭。(Bug #20066806, Bug #74932)