2022 年 JDBC Driver 版本说明

本文包含 JDBC Driver 的版本说明,包括以下内容(如果适用):

  • 行为变更

  • 新功能

  • 面向客户的错误修复

Snowflake 对 JDBC Driver 更新使用语义版本控制。

版本 3.13.26(2022 年 12 月 14 日)

新功能和更新

  • 将 arrow 库从版本 9.0.0 升级到 10.0.1。

  • META-INF/versions 中的文件重新定位到 META-INF/versions/<version_number>/net/snowflake/client/jdbc/internal

  • 向 SnowflakeTimeWithTimezone 对象添加了 getNano() 和 getOffset() 方法,以分别返回纳秒数和时区偏移量。

版本 3.13.25(2022 年 11 月 16 日)

BCR (行为变更版本)变更

小心

Snowflake JDBC 驱动程序的版本 3.13.25 将 allowUnderscoresInHost 参数的默认值更改为 false。此更改影响账户名包含下划线的 PrivateLink 客户。在这种情况下,必须通过将 allowUnderscoresInHost 设置为 true 来替换默认值。

新功能和更新

  • allowUnderscoresInHost 参数的默认值设置为 false,这会将账户名中的下划线转换为连字符,以避免 Apache httpclient 连接因下划线而出错。可以通过将 allowUnderscoresInHost 设置为 true 来关闭此行为。

  • 将 aws-java-sdk-bom 库版本从 1.11.394 更新至 1.12.327。

  • 添加了 enableReturnTimestampWithTimeZone 参数,以设置是否在时间戳中包含时区。

  • 添加了与解析 SnowflakeConnectString 时的每个错误返回路径对应的日志警告。

  • SnowflakeDatabaseMetaData.getColumn() 实参添加了逗号,以提高可读性。

  • 添加了对存储过程的支持。

错误修复

  • 修复了与 GCS_USE_DOWNSCOPED_CREDENTIAL 为 true 时使用 GET 命令相关的问题。

  • 修复了与会话句柄为 NULL 时返回结果类型相关的问题。

版本 3.13.24(2022 年 10 月 28 日)

BCR (行为变更版本)变更

小心

Snowflake JDBC 驱动程序的版本 3.13.24 更改了 Statement.getMoreResults()Statement.getupdateCount() 的返回值,如下所述。如果项目受到与这些函数相关的破坏性变更的影响,Snowflake 建议先测试此版本,然后再将其安装到生产环境中。

新功能和更新

  • 升级了以下库:

    • arrow 从版本 8.0.0 升级到 9.0.0

    • jacksondatabind 从版本 2.13.2.2 升级到 2.13.4.2

    • google-cloud-storage 从版本 2.5.0 升级到 2.6.2

  • 现在,在多语句查询中可以迭代访问更多语句时, Statement.getMoreResults() 函数会返回 TRUE。

  • 现在, Statement.getupdateCount() 函数对于非 DML 查询会返回 0 而不是 -1。

版本 3.13.23(2022 年 9 月 30 日)

新功能和更新

  • 使用 Azure 时为 PUT/GET 命令启用了并行度参数。

错误修复

  • 修复了 FIPs 驱动程序中 Google 库内的 NoClassDefFoundError 问题。

  • 修复了使用阅读者账户获取过程时发生的错误。

版本 3.13.22(2022 年 8 月 23 日)

新功能和更新

  • 将 tika-core 库更新至版本 2.4.1。

  • 添加了对新 Okta OIE (Okta Identity Engine) 的支持。

错误修复

  • 修复了列类型为 timestamp_tzgetColumnClassName() 引发异常的问题。

  • 修复了检索数据库元数据时调用 getSQLStateType() 会引发异常的问题。

  • 修复了为准备好的语句调用 executeLargeBatch() 可能会导致没有行被插入的问题。

  • 修复了 QueryStatus 可能返回无效错误代码和消息的问题。

  • 修复了无会话客户端有时会发生的空指针异常。

版本 3.13.21(2022 年 7 月 13 日)

新功能和更新

  • SnowflakeDatabaseMetaData 对象添加了 getStreams 函数,以列出活动流。

  • 更新了预取内存最大重试值,以提高块下载性能。

错误修复

  • 修复了 snowflakeConnectionV1::createResultSet 函数中语句对象的内存泄漏问题。

  • 修复了 arrow 结果集的内存泄漏问题。

  • 修复了 JDBC 块下载器中缺少数据的问题。

版本 3.13.20(2022 年 6 月 23 日)

新功能

  • 实施了针对 Amazon S3 返回的 404 错误的快速失败功能。

  • 更新了 JDBC 驱动程序中的以下依赖项:

    • arrow 版本从 7.0.0 更新至 8.0.0

  • 升级了以下 Google 库版本:

    • google-auth-library 从 0.9.0 升级到 1.5.3

    • google-cloud-storage 从 1.82.0 升级到 2.5.0

    • google api 客户端版本从 1.30.10 升级到 1.33.2

    • google http 客户端版本从 1.36.0 升级到 1.41.4

版本 3.13.19(2022 年 5 月 25 日)

新功能

  • 更新了 isValid() 函数,以发送心跳调用而不是 SELECT 1,以便验证会话连接。

  • 添加了对在 SnowflakePreparedStatement.setObject() 函数中设置 VARBINARY byte[] 数组的支持。

  • 更新了 JDBC 驱动程序中的以下依赖项:

    • arrow 版本从 0.15.1 更新至 7.0.0

    • jackson 版本从 2.11.0 更新至 2.13.2

    • bouncy 版本从 1.64 更新至 1.70

错误修复

  • 修复了用于暂存区绑定的 TIMESTAMP_INPUT_FORMAT 的问题。

版本 3.13.18(2022 年 5 月 18 日)

新功能

  • 升级了 arrow 和 jackson 库。

错误修复

已停止为了块下载而将 retryCount 追加到有作用域的 URL。

版本 3.13.17(2022 年 4 月 14 日)

新功能

  • SnowflakeTimestampWithTimezone 对象的 timezoneZonedDateTime 添加了获取器。

错误修复

  • 为驱动程序版本 v3.13.16 创建了一个补丁,以修复 getSchemas() 函数的错误行为。

  • 修复了对无效 JVM 参数 proxyHostproxyPort 的设置。

版本 3.13.16(2022 年 3 月 17 日)

错误修复

  • 修复了不遵循 nonProxyHosts 参数设置的问题。

版本 3.13.15(2022 年 2 月 21 日)

错误修复

  • isFileTransfer 函数重构为基类。

  • FileTransferAgent 外观类重构为基类

  • 修复了 Graal VM Native Image 应用程序中的分段错误问题。

  • 修复了导致 ChunkDownloader 挂起的问题。

版本 3.13.14(2022 年 1 月 21 日)

错误修复

  • 添加了流式引入的相关元数据,以进行流式引入计费。

  • 更新了公共 POM 中的 BC FIPS 版本。

版本 3.13.13(2022 年 1 月 18 日)

错误修复

  • 修复了以下问题: JDBC 驱动程序没有更新 stageInfo,以反映与 s3RegionalURL 相关的信息。

  • 修复了账户名包含下划线的问题。

  • 修复了以下问题:调用 getTables()getColumns() 时,为包含双引号的架构返回了空结果集。

  • 修复了 getProcedureColumns() 不能使用通配符的问题。

语言: 中文