2022_03 Bundle¶
This topic describes the following behavior changes (if any) for the month:
Features that were deprecated.
Bundled changes that were enabled.
Other, non-bundled changes that were implemented.
If you have any questions about these changes, please contact Snowflake Support.
For details about the new features, enhancements, and fixes introduced this month, see June 2022.
Important
Unless otherwise noted, these changes are in the 2022_03 bundle, which was enabled by default in the 6.21 behavior change release.
Security Changes¶
Access Control: Error Message When Revoking a Non-existent Role Grant From a Role or User¶
When you execute the REVOKE ROLE command to revoke a role from a user or another role, but the role is not currently granted to the specified object, the error message returned has changed as follows:
- Previous error message text:
Revoke not executed: Insufficient privileges
- Current error message text:
Statement executed successfully
Note that the SQL statement is successful despite the error message text. This change helps avoid unnecessary concerns when you review your query history logs.
SQL Changes — General¶
Update to the 2021a Release of the TZDB¶
Snowflake uses the Time Zone Database (TZDB) for timezone information (e.g. for the list of timezone names and aliases for CONVERT_TIMEZONE).
Snowflake has updated the TZDB version used:
- Previously:
Snowflake used earlier releases (starting from 2016f) of the TZDB.
- Currently:
Snowflake uses the 2021a release of the TZDB.
For a list of the changes made up to the 2021a release of the TZDB, see News for the tz database (https://data.iana.org/time-zones/tzdb/NEWS).
SQL Changes — Commands & Functions¶
DESCRIBE TASK / SHOW TASKS Commands: New Column in Output¶
The output of the DESCRIBE TASK and SHOW TASKS commands now include a new ERROR_INTEGRATION column. To help limit the impact of this change, the column has been added as the last column in the output.
The column shows the name of the notification integration used to access Amazon Simple Notification Service (SNS) to relay error notifications for the task.
SHOW TASKS Command: New Columns in Output¶
The output of the SHOW TASKS command now includes the following two new columns:
Column Name |
Data Type |
Description |
---|---|---|
LAST_COMMITTED_ON |
TIMESTAMP |
Specifies when a version of the task was last set. If no version has been set (i.e. if the task has not been resumed or manually executed after it was created), the value is NULL. |
LAST_SUSPENDED_ON |
TIMESTAMP |
Specifies when the task was last suspended. If the task has not been suspended yet, the value is NULL. |
Both columns pertain to a standalone task or the root task in a tree. The column values are NULL for child tasks in a tree.
SHOW TASKS Command & TASK_DEPENDENTS Function: Changes to PREDECESSORS / PREDECESSOR Columns¶
The predecessor task for a given task, if any, is returned in the following columns:
PREDECESSORS column in the output for the SHOW TASKS command.
PREDECESSOR column in the output for the TASK_DEPENDENTS table function (in the Information Schema).
The column value has changed as follows:
- Previously:
The value was returned as a string. For example:
mydb.myschema.task1
- Currently:
The value is returned as a JSON array. Individual task names in the array are fully-qualified (i.e. includes the container database and schema names). Double-quotes in task names are escaped using the backslash character (
\
).The array contains a single value. For example:
[ "mydb.myschema.task1" ]
If a task has no predecessor, the array is empty:
[]
.
In addition, the PREDECESSOR column in the TASK_DEPENDENTS output has been renamed to PREDECESSORS.
These changes have been made to support Directed Acyclic Graphs (DAGs) of tasks.
SQL Changes — Usage Views & Information Schema Views/Table Functions¶
GRANTS_TO_ROLES View (Account Usage): Returns CREATE WAREHOUSE Privilege Grants¶
The GRANT_TO_ROLES view (in the ACCOUNT_USAGE schema in the SNOWFLAKE database) now includes existing grants of the global CREATE WAREHOUSE privilege to roles. Previously, querying the view did not return grants of this privilege.
Note that the SHOW GRANTS command returns grants of the CREATE WAREHOUSE privilege.
USERS View & ROLES View (Account Usage): New Columns Added¶
The following columns have been added to the USERS and ROLES views (in the ACCOUNT_USAGE schema in the SNOWFLAKE database):
Column Name |
Data Type |
Description |
---|---|---|
OWNER |
VARCHAR |
Specifies the role with the OWNERSHIP privilege on the object. Added to both the USERS and ROLES views. |
DEFAULT_SECONDARY_ROLES |
VARCHAR |
Specifies the default secondary role for the user (i.e. ALL) or NULL if not set. Added to the USERS view only. |
To help limit the impact of this change, the new columns have been added as the last columns in the output.
VIEWS View (Account Usage): Materialized Views Added to the View¶
Materialized views are now included in the VIEWS view (in the ACCOUNT_USAGE schema in the SNOWFLAKE database).
Previously, the VIEWS view did not include materialized views.
Data Loading Changes¶
VALIDATE_UTF8 File Format Option — Obsoleted¶
The VALIDATE_UTF8 file format option specifies whether to validate UTF-8 character encoding in string column data. This option was provided only to ensure backward compatibility with older Snowflake versions. Since the option value defaulted to TRUE beginning in early 2017, the product documentation has strongly urged against overriding the default setting.
This option is now obsolete and the behavior when attempting to override the default value has changed as follows:
Executing a CREATE <object>, ALTER <object>, or COPY INTO <table> statement that sets VALIDATE_UTF8 = FALSE produces a user error. The following object types support this file format option:
File format
Stage
Table
If the option has been overridden on existing objects, it is now ignored when loading data. The load operation includes UTF-8 character encoding validation.