June 14-15, 2023 — 7.20 Release Notes

The following new features, behavior changes, and updates (enhancements, fixes, etc.) have been introduced in this release. If you have any questions about these additions, please contact Snowflake Support.

Important

Each release may include updates that require the web interface to be refreshed.

As a general practice, to ensure these updates do not impact your usage, we recommend refreshing the web interface after each Snowflake release has been deployed.

New Features

Snowpipe Streaming Replication Support — Preview

With this release, we are pleased to announce the support of Snowpipe Streaming with Snowflake replication. Snowflake supports the replication and failover of Snowflake tables populated by Snowpipe Streaming and its associated channel offsets from a source account to a target account in different regions and across cloud platforms with replication. Snowpipe streaming supports both database replication and group-based replication.

For more information, refer to Replication and Snowpipe Streaming.

Security Updates

Access Control: New Privilege for Delegating Warehouse Management — Preview

With this release, we are pleased to announce a preview of a new privilege for managing warehouses.

If you need to delegate the ability to alter, suspend, or resume any warehouse in your account to a custom role, you can grant the MANAGE WAREHOUSES privilege to that role. Granting the MANAGE WAREHOUSES privilege is equivalent to granting the MODIFY, MONITOR, and OPERATE privileges on all warehouses in the account.

For more information, refer to Delegating warehouse management.

SQL Updates

Improved Performance for SELECT Statements With LIMIT and ORDER BY Clauses — General Availability

With this release, we are pleased to announce that the performance of certain long-running SELECT statements containing both LIMIT and ORDER BY clauses has been significantly improved. This improvement is immediately available to all customers at no additional cost.

The improvement works by pruning micro-partitions that cannot affect the results of such “top K” queries. The additional pruning applies to queries where an integer-representable value (timestamp or integer, or variant explicitly cast to integer, but not an expression) is the first or only column specified in the ORDER BY clause. If the query contains a JOIN clause, the ORDER BY column must be from the fact table (or probe side), typically the larger of the two tables.

Queries on small tables generally do not benefit from this improvement. Queries that return fewer than the number of rows specified in the LIMIT clause, or that use aggregations, also do not benefit.

Note that not all queries, not even all queries that meet these requirements, will benefit.

For more information on micro-partitions and query pruning, refer to Micro-partitions & Data Clustering.

Support for Python 3.10 in Snowpark, UDFs, UDTFs and Stored Procedures — Preview

With this release, we are pleased to announce support for Python 3.10 in Snowpark Python, Python UDFs, Python UDTFs and Python stored procedures as a preview feature to all accounts.

For more information, refer to:

Data Governance Updates

Tag-based Masking Policy: Support for Database & Schema — Preview

With this release, we are pleased to announce the preview of setting a tag-based masking policy on a database and schema. This update enables data engineers to protect all columns in a schema or database when the data type of the column matches the data type of the policy set on the tag. Additionally, a new column is protected when its data type matches the data type of the policy set on the tag. Setting the tag-based masking policy on the database or schema simplifies data protection management because you can set the tag-based policy once and not have to set a masking policy on every column in the database or schema.

For more information, refer to Tag-based masking policies.

Access History: Track Objects Modified by a DDL Operation — Preview

With this release, we are pleased to announce the preview of tracking objects modified by a DDL operation in the Account Usage ACCESS_HISTORY view. These operations include:

  • Track how tag and policy assignments change.

  • Track the table and column lifecycle.

The object_modified_by_ddl column records these changes. You can use this column to enhance your data auditing practices and detect new objects to classify to meet PII detection requirements.

For more information, refer to Access History.

Web Interface Updates

Load Files From a Stage Into a Table — General Availability

With this release, we are pleased to announce the general availability of loading files from a stage into a table by using Snowsight.

For more information, refer to Load a file from a stage into an existing table.