February 2023

The following new features, behavior changes, and updates (enhancements, fixes, etc.) have been introduced this month. 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

Access History: Track Masking & Row Access Policy References — Preview

With this release, Snowflake is pleased to announce that for queries on a table or view protected by a row access policy and a column protected by a masking policy, the enforced masking and row access policies are tracked in the Account Usage ACCESS_HISTORY view. Policy references are tracked in the new column, POLICIES_REFERENCED. This new column includes support for intermediate objects and columns that are policy protected. Audits on policy protected objects and columns are easier because auditors have a more unified view of how protected data is referenced without having to do complex joins on multiple Account Usage views.

For details, refer to Access History and ACCESS_HISTORY View.

Error Notifications for Snowpipe and Tasks — General Availability

With this release, Snowflake is pleased to announce the general availability of error notifications for Snowpipe and Tasks. Both Snowpipe and Snowflake Tasks can push error notifications to the cloud messaging services when errors are encountered.

  • Snowpipe notifications describe the errors encountered in each file as they are loaded, enabling further analysis of the data in the files.

  • Snowflake task error notifications describe errors encountered when executing a task or its dependent tasks.

Previously, task error notifications were available only for Snowflake Accounts hosted on Amazon Web Services. With this release, this feature is now available for Snowflake Accounts hosted on Google Cloud Platform and Microsoft Azure.

For more information, refer to Snowpipe Error Notifications and Enabling Error Notifications for Tasks.

Snowflake Alerts — Preview

With this release, we are pleased to announce a preview of Snowflake Alerts. A Snowflake Alert is a schema-level object that you can use to send a notification or perform an action when data in Snowflake meets certain conditions.

For example, you can set up a Snowflake Alert to send a notification or perform an action when:

  • The warehouse credit usage increases by a specified percentage of your current quota.

  • The resource consumption for your pipelines, tasks, materialized views, etc. increases beyond a specified amount.

  • A data access request is received from an unauthorized user.

  • Your data fails to comply with a particular business rule that you have set up.

For more information, refer to Setting Up Alerts Based on Data in Snowflake.

Security Updates

Deprecated SAML SSO Parameters

With this release, the SAML_IDENTITY_PROVIDER and SSO_LOGIN_PAGE parameters used for SAML SSO configuration and management are deprecated.

All Snowflake configurations should use a SAML2 security integration instead of the SAML_IDENTITY_PROVIDER and SSO_LOGIN_PAGE parameters.

If you have an existing SSO implementation that uses the SAML_IDENTITY_PROVIDER account parameter, refer to Migrating to a SAML2 Security Integration.

These deprecated parameters still work, but will be removed in a future release. Migrating to a SAML2 security integration also provides additional features that are not available when using the deprecated account parameters.

Improved Error Messages for SSO Login Failures — General Availability

With this release, we are pleased to announce the general availability of improved error messages for SAML and External OAuth SSO login failures.

Improved error messages SAML and External OAuth SSO login failures now provide a UUID in error messages associated with failed login attempts. Administrators can use the UUID as an argument to a new SYSTEM$GET_LOGIN_FAILURE_DETAILS function to return a JSON object containing the error associated with the failed login attempt.

For more information, refer to SYSTEM$GET_LOGIN_FAILURE_DETAILS.

SQL Updates

ROUND Function: New Argument for Specifying the Rounding Mode

By default, when you specify the <scale_expr> argument in the ROUND function, the function rounds the value half away from zero. For example:

SELECT ROUND(2.5, 0);

+---------------+
| ROUND(2.5, 0) |
|---------------|
|             3 |
+---------------+

SELECT ROUND(-2.5, 0);

+----------------+
| ROUND(-2.5, 0) |
|----------------|
|             -3 |
+----------------+

In this release, Snowflake provides a new, optional argument to change the rounding mode to round the value half to even :

ROUND( <input_expr> [ , <scale_expr>  [ , <rounding_mode> ] ] )

If you want to round the value half to even, pass ‘HALF_TO_EVEN’ as the third argument (after specifying the scale as the second argument). For example:

SELECT ROUND(2.5, 0, 'HALF_TO_EVEN');

+-------------------------------+
| ROUND(2.5, 0, 'HALF_TO_EVEN') |
|-------------------------------|
|                             2 |
+-------------------------------+

SELECT ROUND(-2.5, 0, 'HALF_TO_EVEN');

+--------------------------------+
| ROUND(-2.5, 0, 'HALF_TO_EVEN') |
|--------------------------------|
|                             -2 |
+--------------------------------+

For more information, see the documentation on ROUND.

Search Optimization Service: Support for Tables with Masking Policies and Row Access Policies — General Availability

With this release, we are pleased to announce the general availability of Search Optimization Service support for tables that use masking policies and row access policies. This can help improve performance of queries on such tables.

For more information, refer to Using the Search Optimization Service.

Virtual Warehouse Updates

Query Acceleration Service — General Availability

With this release, we are pleased to announce the general availability of Query Acceleration Service.

The query acceleration service can accelerate parts of the query workload in a warehouse by offloading portions of the query processing to dynamic compute resources provided by the service. It can improve overall performance by reducing the impact of outlier queries, which are queries that use more resources than the typical query.

This feature is available to Snowflake accounts on Enterprise Edition (or higher).

For more information, refer to Using the Query Acceleration Service.

Snowpark-optimized Warehouses — General Availability

With this release, we are pleased to announce the general availability of Snowpark-optimized warehouses in Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform regions.

For more information, refer to Snowpark-optimized Warehouses.

Data Loading Updates

ON_ERROR Copy Option Supports All File Formats

With this release, the ON_ERROR copy option for the COPY INTO <table> command consistently supports all file formats with either parsing or transformation errors.

Previously, the ON_ERROR values worked as expected only for structured data files (CSV, TSV, etc.) with either parsing or transformation errors. However, semi-structured data files (JSON, Avro, ORC, Parquet, or XML) did not support the same behavior semantics as structured data files for the following ON_ERROR values: CONTINUE, SKIP_FILE_<num>, or ‘SKIP_FILE_<num>%’.

Currently, the ON_ERROR values work as expected and are consistent for all structured and semi-structured files, including, CSV, TSV, JSON, Avro, ORC, Parquet, or XML.

For more information, refer to Copy Options (copyOptions).

New Metadata Columns for Staged Files

With this release, Snowflake automatically generates the following new metadata columns for staged files, which can be queried or copied into tables.

METADATA$FILE_CONTENT_KEY

Checksum of the staged data file the current row belongs to.

METADATA$FILE_LAST_MODIFIED

Last modified timestamp of the staged data file the current row belongs to. Returned as TIMESTAMP_NTZ.

METADATA$START_SCAN_TIME

Start timestamp of operation for each record in the staged data file. Returned as TIMESTAMP_LTZ.

These new metadata columns provide more detailed information about the staged files. For example, you can query METADATA$START_SCAN_TIME to get an accurate time value of record loading.

For more information, refer to Querying Metadata for Staged Files.

Data Collaboration Updates

Listing Discovery Controls — General Availability

With this release, we are pleased to announce the general availability of listing discovery controls, which let you offer listings that can only be discovered by specific consumers, similar to a direct share.

Using privately discoverable listings instead of direct shares lets you auto-fulfill your data product across clouds and Snowflake regions, gather metrics about consumer usage of the data, and include metadata with your data share, such as a title and description, and usage examples to help consumers use the data quickly.

For more information, refer to About Listings.

Web Interface Updates

SQL Editor Improvements —– General Availability

With this release, we are pleased to announce the general availability of improvements to the SQL editor in Snowsight, including the following:

  • Improved find and replace functionality.

  • Redesigned autocomplete for commands, columns, and objects.

  • Updated function autocomplete, including suggestions for function arguments to make it easier to write user-defined functions.

  • Added highlighting for selected keywords, so that when you select a term in the SQL editor, all other instances of the term appear highlighted.