2022 年 Snowflake Connector for Python 版本说明

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

  • 行为变更

  • 新功能

  • 面向客户的错误修复

Snowflake 对 Snowflake Connector for Python 更新使用语义版本控制。

版本 2.9.0(2022 年 12 月 14 日)

新功能和更新

  • 重新设计了身份验证内部机制,以允许用户插入自定义密钥对身份验证器。

  • 现在通过 cursor.executecursor.executemany 支持多语句查询执行。

    • Snowflake 参数 MULTI_STATEMENT_COUNT 可以在账户、会话或语句级别进行更改。可以为 execute 提供一个附加实参 num_statements,以便在语句级别使用该实参。必须将它提供给 executemany 以通过方法提交多语句查询。请注意,通过 executemany 实现的大容量插入优化在提交多语句查询时不可用。

      • 默认情况下,该参数为 1,表示一次只能提交一个查询。

      • 设置为 0 可在多语句查询中提交任意数量的语句。

      • 设置为 >1 可在多语句查询中提交指定的确切语句数。

      • 多语句的绑定接受方式与单语句查询的接受方式相同。

  • 支持异步多语句查询执行。用户仍应使用 get_results_from_sfqid 来检索结果。

  • 要访问每个查询的结果,用户可以调用 DB 2.0 API (PEP-249) 中指定的 call SnowflakeCursor.nextset() 来遍历每个语句的结果。

    • 通过现有的 fetch*() 方法调用 execute(如果是异步,则可以调用 get_results_from_sfqid )后,可以立即访问第一条语句的结果。

错误修复

  • 修复了通过 GET 命令下载的文件权限被更改的错误。

版本 2.8.3(2022 年 11 月 28 日)

新功能和更新

  • 将加密依赖项从 <39.0.0 升级到了 <41.0.0。

错误修复

  • 修复了过期的 OCSP 响应缓存在缓存加载期间导致无限递归的错误。

版本 2.8.2(2022 年 11 月 18 日)

新功能和更新

  • 提高了 OCSP 响应缓存的性能。

  • 执行 GET 命令时不再解析本地计算机上的目标位置。

  • 提高了用于 PUT/GET SQL 语句检测的正则表达式的性能。

版本 2.8.1(2022 年 10 月 28 日)

新功能和更新

  • 将加密依赖项从 <37.0.0 升级到了 <39.0.0。

  • 关闭连接时,异步查询状态检查现在已并行化。

错误修复

  • 修复了 write_pandas 不会将空 DataFrame 写入 Snowflake 的问题。

版本 2.8.0(2022 年 9 月 27 日)

错误修复

  • 修复了对空结果调用 fetch_pandas()fetch_arrow() 时丢失的 dtypes

  • 修复了光标关闭时 rowcount 被删除的错误。

  • 修复了 extTypeName 即使为空时仍被使用的错误。

  • 更新了遥测条目的构造方式。

  • 在运行时添加了导入的根包的遥测数据。

  • 添加了使用 write_pandas 的遥测功能。

  • write_pandas 函数现在支持提供 DataFrame.to_parquet 使用的附加实参。

  • write_pandas 的所有可选参数现在都可以提供给 pd_writermake_pd_writer,以便与 DataFrame.to_sql 一起使用。

版本 2.7.12(2022 年 8 月 24 日)

新功能和更新

  • 为 OCSP 响应缓存添加了文件内缓存。

  • 添加了对 OKTA Identity Engine 的支持。

  • write_pandas 函数现在通过取代 create_temp_table 实参的新 table_type 实参支持临时表。

错误修复

  • 修复了一个错误,即作为 pandas.DataFramepyarrow.Table 提取的时间戳会因不必要的精度而溢出。在无法防止溢出的情况下,现在会引发一个明显的错误。

  • 修复了在执行异步查询后调用 fetch_pandas_batches 会错误地引发 NotSupportedError 的错误。

版本 2.7.11(2022 年 7 月 28 日)

错误修复

  • typing_extensions 添加了最低版本 pin。

版本 2.7.10(2022 年 7 月 25 日)

新功能和更新

  • 向 OCSP 请求添加了内存中缓存。

  • write_pandas 添加了覆盖选项。

  • 根据 PEP-249 向 SnowflakeCursor 添加了 lastrowid 属性。

  • 添加了新的连接诊断功能。

  • 更新了以下库和资源:

    • 支持最高到 8.0.X 的 pyarrow 版本。

    • 供应商库版本请求最高到 2.28.1,urllib3 最高到 1.26.10。

    • 支持从 1.23.0 到 1.24.0 的 numby 依赖项版本。

错误修复

  • 修复了 gzip 压缩的 HTTP 请求可能被未刷新的缓冲区损坏的问题。

版本 2.7.5(2022 年 3 月 18 日)

行为变更

  • 已弃用对 Python 3.6 的支持。

新功能

  • 为合作伙伴添加了一个通过环境变量 (SF_PARTNER) 注入其名称的选项。

错误修复

  • 修复了一个错误,如果浏览器窗口无法打开进行 SSO 登录,我们将不会等待输入。

  • SnowflakeConnection 导出了类型定义。

  • 修复了使用 fetch_pandas_all 时最终箭头表将包含重复索引号的错误。

版本 2.7.3(2022 年 1 月 18 日)

错误修复

  • 已将包元数据从 setup.py 移动到 setup.cfg

  • 已将 Timezone 添加到 Timestamp_TZ

  • 修复了与存储凭据相关的错误。

  • 修复了 py.typed 未包含在 wheel 中的问题。

  • 修复了使用 arrow_number_to_decimal 无法正确转换负数的问题。

  • 添加了使用 GET 时处理空文件的文件。

  • 修复了 PyPi 的长描述渲染。

  • 添加了当 SMS 不存在时对 DUO 的错误处理。

  • 添加了在将 Pandas DataFrame 写入 Snowflake 表时自动创建表格的功能。

  • 将 numpy 要求从 <1.22.0 更新到 <1.23.0。

  • 更新了 CODEOWNERS 文件。

语言: 中文