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.

SQL Changes — Commands & Functions

SHOW SHARES Command & Data Sharing UI: Changes to Output

The SHOW SHARES command and the corresponding web interface for data sharing that include an account locator (formerly known as an auto-generated account name) in the output has changed to use the organization name and new account name:

Previously:
  • The NAME column displayed <account_locator>.<share_name>.

  • The TO column (for outbound shares) displayed <account_locator>.

Currently:
  • The NAME column displays <organization_name>.<account_name>.<share_name>.

  • The TO column (for outbound shares) displays <organization_name>.<account_name>.

In addition, the following commands that use <account_locator>.<share_name> as a parameter are now able to use <organization_name>.<account_name>.<share_name> as a parameter:

For more information about the difference between the account locator and the new account name, see Account identifiers.

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"
]
Copy

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.