相关文件10bet官方网站 下载这些发行说明

MySQL连接器/ J 8.0发行说明/ MySQL Connector / J 8.0.23(2021-01-18,普通可用性)的变化

MySQL Connector / J 8.0.23(2021-01-18,普通可用性)的更改

版本8.0.23是8.0系列MySQL连接器/ j的最新一般可用性发布。它适用于MySQL Server版本8.0和5.7。它支持Java数据库连接(JDBC)4.2 API,并实现X Devapi。

弃用和删除备注

  • 作为一个实施MySQL术语更新,连接属性和公共方法名称已按以下方式调整:

    • 将“master”更改为“源”:例如,连接属性QueriesBeforeretryMaster.成为查询伯弗雷特rysource.和方法IsmasterConnection()成为issourceconnection()

    • 将“奴隶”更改为“副本”:例如,连接属性允许拉拉维斯downConnections.成为allowreplicadownConnections.和方法getslavehosts()成为getreplicahosts()

    • 将“黑名单”更改为“BlockList”:例如,连接属性LoadBalanceBlackListTimeout.成为loadBalanceBlockListTimeout.

    旧名称已被弃用 - 虽然它们仍然可以使用,但最终将在将来的发布中删除;因此鼓励用户切换到新名称。

    看看MySQL Connector / J 8.0开发人员指南,连接器/ J API文档(由javadoc10bet官方网站生成),以及MySQL连接器/ J X Devapi Reference可用AT.连接器和API.有关任何新属性和方法名称的信息。

功能添加或更改

  • 重要变化:为用户推出了一种新机制来配置时瞬间将如何发生时刻或通过连接器/ j从服务器检索时的时区转换方式。三个新的连接属性,Preserveinstants.connectionTimonZone., 和forceConnectionTimeZoneTosession.,控制新机制 - 看到保存时间瞬间有关详细信息。

    重要的

    要保留连接器/ j 8.0.22及更早版本的默认行为,请从服务器查询会话时区,然后在其与JVM时区之间转换时间戳,设置新的连接属性connectionTimonZone.服务器,并以默认值留下其他两个新属性(即,preserveinstants =真实forceconnectiontimezonetosession = false.)。有的用户servertimezone =用户定义时区并保持相同的操作,而无需配置新的连接属性,可以期待与以前相同的行为,但建议使用测试。

    此外,随着新机制的实施,agetObject(ColumnIndex)打电话给A.约会时间列返回A.localDateTime.目前对象而不是一个细绳。接待A.细绳像之前一样,使用getObject(ColumnIndex,String.Class)反而。

  • 虽然A.java.sql.time.实例,根据JDBC规范,不应该通过设计包含分数秒,因为java.sql.time.是一个包装java.util.date.,可以在a中存储分数秒java.sql.time.实例。但是,当连接器/ j插入时java.sql.time.作为mysql进入服务器时间值,分数秒始终被截断。允许将要发送到服务器的小数秒数,是一个新的连接属性,sendfractionaleecondsfortime.,已介绍:物业是真的(这是默认值),分数秒为java.sql.time.被发送到服务器;否则,分数秒被截断。

    此外,连接属性sendfrateractionseconds.已更改为全局控制,以便为所有日期时间类型发送分数秒。结果,如果sendfractionalseconds = false.,不论价值如何,不寄出分数秒sendfractionaleecondsfortime.

    (bug#20959249,bug#76775)

  • Connector / J现在支持以下身份验证方法LDAP可插拔身份验证使用MySQL Enterprise Server:

错误固定

  • 存放A.java.time.localdatetime.对象作为服务器时间戳使用批处理的价值准备好投诉失败了java.time.localdatetime.不能投入java.sql.timestamp.。通过这种修复,铸件再次运行。(bug#32099505,bug#101413)

  • 使用setObject()设置a的方法bytearrayinputstream.A的实例准备好导致A.sqlexception.。(bug#32046007,bug#101242)

  • 返回的值为a时间戳一个不正确的时候时间间隔表达式用于查询的SQL语句中。(bug#31074051,bug#99013)

  • 从Connector / J 5.1到8.0升级后,保存的结果然后检索约会时间时间戳有时候值变得不同。这是因为默认情况下,连接器/ J 5.1不保留时间即时,默认情况下,Connector / J 8.0.22及更早版本尝试通过将时间戳转换为服务器的会话时区之前,然后将其值发送到服务器之前。在此版本中,介绍了用于控制时区转换的新机制 - 请参阅保存时间瞬间有关详细信息。在此新机制下,通过设置连接属性,保留在此方面的连接器/ J 5.1的默认行为preserveinstants = false.。(bug#30962953,bug#98695,bug#30573281,bug#95644)

  • 转换MySQL约会时间或者时间戳对java的价值offsetDateTime.使用getObject(i,offsetDateTime.class)方法失败,具有“不支持类型...”错误的“转换”错误。这是因为offsetDateTime.parse()方法约会时间时间戳值产生了意外的字符串格式。使用此补丁,转换之间offsetDateTime.日期时间约会时间时间戳, 和数据类型现在是可能的,并且在转换期间,时间轴上的即时点被保留在转换期间 - 看到保存时间瞬间有关详细信息。(bug#29402209,bug#94457)

  • 当服务器的会话时区设置无法通过连接器/ j(例如,它设置为c),除非连接器/ j指定正确的IANA时区名称,否则无法使用服务器建立连接servertimezone.连接属性。即使实际上无需在Connector / j中使用任何日期时间功能,也会发生这种情况。该问题是通过控制日期时间处理的Connector / J的新连接属性来修复。保存时间瞬间有关详细信息。目前正在发生以下情况:

    • 如果是新的连接属性connectionTimonZone.设定为当地的或指定的时区,时区不再检查服务器上的变量

    • 如果ConnectionTimeZone =服务器,检查时区变量延迟,直到首次调用日期时间驱动程序功能,以便无法识别的服务器时区不会阻止要建立连接。但是,何时调用日期时间功能并符合值时区无法通过连接器/ j识别,抛出异常。

    (bug#21789378)