2022_03 捆绑包

本主题介绍当月的以下行为变更(如果有):

  • 已弃用的功能。

  • 已启用的捆绑包变更。

  • 已实现的其他非捆绑包变更。

如果您对这些变更有任何疑问,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。

有关本月推出的新功能、增强功能和修复的详细信息,请参阅 2022 年 6 月

重要

除非另有说明,否则这些变更位于 6.21 行为变更版本中默认启用的 2022_03 捆绑包中。

本主题内容:

安全变更

访问控制:从角色或用户撤消不存在的角色授权时出现错误消息

当您执行 REVOKE ROLE 命令以撤消某个用户的角色或其他角色,但该角色当前未授予给指定对象时,返回的错误消息已更改如下:

之前的错误消息文本:

Revoke not executed: Insufficient privileges

当前的错误消息文本:

Statement executed successfully

请注意,尽管有错误消息文本,但 SQL 语句是成功的。此变更有助于避免在查看查询历史记录日志时出现不必要的问题。

SQL 变更 – 常规

TZDB 的 2021a 版本更新

Snowflake 使用 Time Zone Database (TZDB) 获取时区信息(例如,用于 CONVERT_TIMEZONE 的时区名称和别名列表)。

Snowflake 更新了使用的 TZDB 版本:

之前:

Snowflake 使用了 TZDB 的早期版本(从 2016f 起)。

现在:

Snowflake 使用 TZDB 的 2021a 版本。

有关 2021a 版本 TZDB 的变更列表,请参阅 tz 数据库新闻 (https://data.iana.org/time-zones/tzdb/NEWS)。

SQL 变更 – 命令和函数

SHOW SHARES 命令和数据共享 UI:输出的变更

用于数据共享的 SHOW SHARES 命令和相应 Web 界面在输出中包括 账户定位器 (以前称为自动生成的账户名称),已更改为使用组织名称和新账户名称:

之前:
  • NAME 列显示 <account_locator>.<share_name>

  • TO 列(用于出站共享)显示 <account_locator>

现在:
  • NAME 列显示 <organization_name>.<account_name>.<share_name>

  • TO 列(用于出站共享)显示 <organization_name>.<account_name>

此外,以下命令使用 <account_locator>.<share_name> as a parameter are now able to use <organization_name>.<account_name>.<share_name> 作为参数:

有关账户定位器和新账户名称之间差异的更多信息,请参阅 账户标识符

DESCRIBE TASK / SHOW TASKS 命令:输出中的新列

DESCRIBE TASKSHOW TASKS 命令的输出现在包括新的 ERROR_INTEGRATION 列。为了帮助限制此变更的影响,该列已添加为输出中的最后一列。

该列显示通知集成的名称,该集成用于访问 Amazon Simple Notification Service (SNS) 以中继任务的错误通知。

SHOW TASKS 命令:输出中的新列

SHOW TASKS 命令的输出现在包括以下两个新列:

列名称

数据类型

描述

LAST_COMMITTED_ON

TIMESTAMP

指定上次设置任务版本的时间。如果未设置版本(即,如果任务在创建后尚未恢复或手动执行),则值为 NULL。

LAST_SUSPENDED_ON

TIMESTAMP

指定上次暂停任务的时间。如果任务尚未暂停,则值为 NULL。

这两列都与独立任务或树中的根任务有关。树中子任务的列值为 NULL。

SHOW TASKS 命令和 TASK_DEPENDENTS 函数: PREDECESSORS / PREDECESSOR 列的变更

给定任务的前置任务(如果有)将在以下列中返回:

  • 针对 SHOW TASKS 命令的输出中的 PREDECESSORS 列。

  • 针对 TASK_DEPENDENTS 表函数的输出中的 PREDECESSOR 列(在 Information Schema 中)。

列值已更改如下:

之前:

该值以字符串形式返回。例如:

mydb.myschema.task1

现在:

该值以 JSON 数组形式返回。数组中的各个任务名称是完全限定的(即包括容器数据库和架构名称)。任务名称中的双引号使用反斜杠字符 (\) 进行转义。

该数组包含单个值。例如:

[
"mydb.myschema.task1"
]
Copy

如果任务没有前置任务,则数组为空: []

此外, TASK_DEPENDENTS 输出中的 PREDECESSOR 列已重命名为 PREDECESSORS。

这些变更是为了支持任务的 有向无环图 (DAGs)。

SQL 变更 – 使用情况视图和 Information Schema 视图/表函数

GRANTS_TO_ROLES 视图 (Account Usage):返回 CREATE WAREHOUSE 权限授权

GRANT_TO_ROLES 视图(在 SNOWFLAKE 数据库的 ACCOUNT_USAGE 架构中)包含面向角色的现有全局 CREATE WAREHOUSE 权限授权。以前,查询视图不会返回此权限的授权。

请注意, SHOW GRANTS 命令返回 CREATE WAREHOUSE 权限的授权。

USERS 视图和 ROLES 视图 (Account Usage):添加了新列

以下列已添加到 USERSROLES 视图(在 SNOWFLAKE 数据库的 ACCOUNT_USAGE 架构中):

列名称

数据类型

描述

OWNER

VARCHAR

指定具有对象的 OWNERSHIP 权限的角色。已添加到 USERS 和 ROLES 视图。

DEFAULT_SECONDARY_ROLES

VARCHAR

指定用户的默认辅助角色(即 ALL),如果未设置,则指定 NULL。仅添加到 USERS 视图。

为帮助限制此变更的影响,新列已添加为输出中的最后一列。

VIEWS 视图 (Account Usage):已添加到视图的物化视图

物化视图现已纳入 VIEWS 视图(在 SNOWFLAKE 数据库的 ACCOUNT_USAGE 架构中)。

以前, VIEWS 视图不包括物化视图。

数据加载变更

VALIDATE_UTF8 文件格式选项 – 已过时

VALIDATE_UTF8 文件格式选项指定是否验证以字符串列数据编码的 UTF-8 字符。此选项只是为了确保向后兼容较旧的 Snowflake 版本。由于从 2017 年年初开始该选项值默认为 TRUE,因此已强烈阻止产品文档覆盖默认设置。

此选项现已过时,尝试替换默认值时的行为已更改如下:

  • 执行 CREATE <object>ALTER <object>COPY INTO <table> 语句(设置 VALIDATE_UTF8 = FALSE )引发用户错误。以下对象类型支持此文件格式选项:

    • 文件格式

    • 暂存区

  • 如果该选项已在现有对象上被覆盖,则现在在加载数据时会忽略该选项。加载操作包括 UTF-8 字符编码验证。

语言: 中文