MariaDB Java客户端 1.1.3 发布

MariaDB项目很高兴地宣布 MariaDB Java客户端 1.1.3 现已发布。这是一个稳定版 (GA)。有关此版本的详细信息,请参阅版本说明变更日志;有关该客户端的一般信息,请参阅 AskMonty 知识库中的关于 MariaDB Java客户端页面。

下载 MariaDB Java客户端 1.1.3

版本说明 变更日志 关于 MariaDB Java客户端

新功能

  • 在 Windows 上,如果服务器启用,现在可以使用命名管道。要使用命名管道连接到服务器,请传递 URL 参数或属性 pipe=<pipe_name>。管道文件名应在没有 \pipe<machine> 前缀的情况下传递。(CONJ-36)
  • 现在可以使用 serverSslCert 对自签名证书进行 SSL 验证(提供服务器证书的 CA 证书)。这允许在使用自签名证书时避免 SSL 握手错误(不受信任的 CA),并且比现有的 trustServerCertificate 选项更安全。(CONJ-48)

此版本中修复的错误

修复的部分错误包括以下内容:

  • PacketOutputStream.startPacket() 中的断言更改为 IOException,以便可以捕获它。“Last packet not finished” 条件可能发生,如果底层流损坏(例如写入操作失败)。(CONJ-34)
  • 如果自定义 SocketFactory 创建了一个已连接的套接字,则不执行 Socket.connect()。(CONJ-37)
  • 在多个线程同时使用单个连接的场景中,确保 MySQLCallableStatement.execute() 中的适当锁定。在 3 个操作期间保持连接锁定——设置参数、执行语句和读取输出参数。(CONJ-38)
  • 对于多行插入,getGeneratedKeys() 将返回包含多个条目的 ResultSet。(CONJ-39)
  • 现在可以将 java.util.Date 传递给 PreparedStatement.setObject()。(CONJ-40)
  • 允许时间转义中缺少空格,以更好地兼容 ConnectorJ (CONJ-42)
  • 如果在查询字符串中至少包含一个占位符,在查询执行之前调用 PreparedStatement.getResultSetMetaData() 会抛出异常。(CONJ-43)
  • DatabaseMetaData.getPrimaryKeys() 在 KEY_SEQ 列中返回了不正确的值。(CONJ-41)
  • (性能增强) 更改了 DatabaseMetadata.getImportedKeys() 不使用信息模式,而是解析“show create table”的输出。这显著加快了涉及 Hibernate 的多个场景。(CONJ-35)
  • 修复了字符列的 ResultSet.getDisplaySize() – 由于 UTF-8 的使用,它比预期大 3 倍(按字节计算大小,而不是按字符计算大小)。
  • 修复了预处理语句解析代码中的错误(跳过反斜杠 ” 后面的下一个字符)。(CONJ-44)
  • 修复 Statement.executeBatch() 方法抛出 BatchUpdateException,符合 JDBC 规范。(CONJ-47)

发布者:MariaDB Foundation

Daniel Bartholomew 是 MariaDB 的发布经理。他撰写了两本与 MariaDB 相关的书籍:《MariaDB 入门》(现已是第 2 版) 和《MariaDB Cookbook》,均由 Packt 出版。