2023 年 Go Snowflake Driver 版本说明

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

  • 行为变更

  • 新功能

  • 面向客户的错误修复

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

版本 1.7.1(2023 年 12 月 7 日)

新功能和更新

  • 升级了 cryptonet 库。

  • 添加了以下支持:在新 AWS SDK 库上运行 S3 客户端,同时保持与先前库版本的兼容性。

  • 通过将密钥从 x509.Certificate 更改为字符串,改进了 OCSP 响应缓存性能。

  • 为身份验证终端和其他类型的终端实施了单独的重试策略。

错误修复

  • 现在,驱动程序会重试在发生后端错误时失败的 getQueryStatus 查询。

  • 驱动程序现在为语句调用的失败查询提供了 QueryId

版本 1.7.0(2023 年 11 月 15 日)

BCR (行为变更版本)变更

  • 更改了 OVERWRITE 参数的默认 PUT 行为。以前,默认值为 OVERWRITE=true。更改后,默认值为 OVERWRITE=false,因此必须显式启用替换 PUT 行为。

新功能和更新

  • 添加了 IncludeRetryReason 配置参数,以启用或禁用是否发送用于查询重试请求的 HTTP 状态代码。

  • 添加了新的 WithOriginalTimestamp 上下文,允许 arrow 批次在 Snowflake 支持的全年范围内使用纳秒精度。

  • 添加了在配置文件中设置日志级别的支持。

  • 通过缓存解析的 OCSP 响应提高了性能。

错误修复

  • 修复了与并发访问 HTAP 查询上下文缓存相关的问题。

  • 修复了异步演示示例中与连接处理不当相关的问题。

版本 1.6.25(2023 年 9 月 26 日)

新功能和更新

  • 添加了对混合事务和分析处理的支持。

  • 在语句级实现了 GetQueryId 函数,该函数允许获取此语句上的最后一个查询 ID。

  • 添加了查询请求的重试原因。

  • 更新了用于 SSL 连接的 cacert 捆绑包。

错误修复

  • 修复了 PrivateLink 环境中 OCSP 回退请求的问题。

  • 从 snowflakeConn 结构中删除了 QueryID,以解决在线程之间重用同一连接时的一些竞争条件。

  • 修复了驱动程序在成功查询时显示错误的问题。

版本 1.6.24(2023 年 8 月 22 日)

新功能和更新

  • 添加了为加密和压缩指定临时目录的支持。

  • 通过每次查询检查一次位置数据而不是分别检查每行和每列,提高了性能。

  • 添加了在提取 arrow 批次时指定自定义上下文的支持。

错误修复

  • 无。

版本 1.6.23(2023 年 7 月 25 日)

新功能和更新

  • 添加了对绑定命名参数的支持。

  • 添加了对查询绑定映射 sql.Null 类型的支持。

  • 允许为密钥对身份验证设置单独的身份验证超时。

  • 添加了示例应用程序,提供了分布式提取功能的示例。

  • 添加了外部浏览器超时。

  • 提供了更简单的方法来配置 Snowflake 连接(请参阅 /cmd 示例)。

  • 升级了 arrow 库以更好地处理 32 位系统。

  • 提供了演示如何使用 Arrow 批次的示例应用程序。

错误修复

  • 修复了多线程竞争条件下的错误消息。

  • 修复了查询仍在进行时重试异步请求的问题。

  • 在块下载期间,在访问连接配置之前添加了 null 检查。

  • 修复了当驱动程序需要 Arrow 时处理从服务器返回的 JSON 结果集的问题。

  • 在密钥对身份验证重试时,重新创建了新的 JWT 令牌(具有新的到期时间)。

  • 添加了外部浏览器的身份验证超时,以防止用户关闭浏览器选项卡时无限等待。

  • 修复了临时文件系统处于只读模式时驱动程序死机的问题。

  • 修复了身份验证问题,即只在需要用户名和密码的身份验证模式下才需要用户名和密码。

版本 1.6.22(2023 年 6 月 14 日)

新功能和更新

  • 在 cmd 文件夹中添加了示例应用程序 async.go,,以演示如何在 Golang 驱动程序中使用异步 API 调用。

  • 在 cmd 文件夹中添加了示例应用程序 multistatement.go,以演示如何在 Golang 驱动程序中发送多个语句。

错误修复

  • 修复了由于 Commit()Rollback() 未使用 BeginTx() 中设置的相同上下文而可能导致发生锁定的问题。

版本 1.6.21(2023 年 5 月 23 日)

新功能和更新

  • 添加了在 snowflakeChunkDownloader 中重试时检查是否超过了上下文截止日期的功能。

  • 已将 arrow 库升级到 v12 版本。

  • 添加了从 Snowflake Go 驱动程序公开直接 arrow IPC 流的功能。

  • 添加了 Arrow Database Connectivity (ADBC) 0.4.0 版本,该版本使用更新的 Snowflake 库来提供 Snowflake ADBC 驱动程序,除了本机 Go 绑定之外,通过访问 C 接口可以使用该驱动程序。

错误修复

  • 修复了与较大或较小的 datetime 值有关的 int64 溢出问题。

版本 1.6.20(2023 年 4 月 18 日)

新功能和更新

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

  • 通过在读取下一个数据块之前清理第一个数据块,改进了内存使用情况。

错误修复

  • 在监控异步查询并将可取消的上下文传递给 WithFetchResultByID 时,在已取消上下文的情况下出现接口转换死机,对此问题进行了修复。

  • 更新了 OCSP 文件锁定错误的日志消息。

  • 现在,当单个文件上传失败时会记录错误。

版本 1.6.19(2023 年 3 月 21 日)

新功能和更新

  • 添加了对 Go 版本 1.20 的支持,并删除了对 Go 版本 1.18 的支持。

  • 已从 azure-storage-blob-go v0.15.0 迁移到 azure-sdk-for-go v1.0.0。

  • 现在,Go 驱动程序支持重试 HTTP 429 错误代码。

  • 已将 Arrow 库升级到 v10 版本。

错误修复

  • 修复了 Go 驱动程序在执行 SSO URL 之前无法对其进行验证的问题。现在,驱动程序使用 URLValidator 和 URLEncoder 实用程序对 URL 进行验证和编码。

  • 修复了 GO 驱动程序 1.6.13 版本中的 Pointer 类型 *time.Time 返回 <nil> 值的问题。

版本 1.6.18(2023 年 2 月 22 日)

新功能和更新

  • 无。

错误修复

  • 添加了对禁用多重身份验证和外部浏览器的连接缓存的支持,默认情况下启用这些连接缓存,但设置以下任一配置参数。

    • ClientStoreTemporaryCredential=ConfigBoolFalse

    • ClientRequestMfaToken=ConfigBoolFalse

版本 1.6.17(2023 年 1 月 26 日)

新功能和更新

  • golang.org/x/net/http2 已更新至版本 0.5.0。

错误修复

  • 通过跳过不返回更新计数的查询,提高了多语句查询的性能。

  • 修复了 MFA 和外部浏览器身份验证的连接缓存。

  • 在配置参数映射中添加了互斥锁,以避免在使用多个 Go 例程时同时发生读/写。

语言: 中文