January 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

OBJECT_DEPENDENCIES View: Support Added for Shared Objects

With this release, Snowflake is pleased to announce the support for shared objects for the Account Usage OBJECT_DEPENDENCIES view in the shared SNOWFLAKE database. For example, when a consumer creates a view from a shared table, the view is dependent on the table the provider shares. The dependencies related to data sharing enable data officers to ensure greater data integrity, comply with each regulatory standard more fully, and generate more detailed impact analysis.

For details, refer to Object Dependencies and the Usage Notes.

Memoizable Functions — Preview

With this release, Snowflake is pleased to announce the preview of memoizable functions. A memoizable function caches the result of calling a user-defined function (UDF) and then returns the cached result when the output is needed at a later time. Using memoizable functions improves performance for complex queries, such as multiple column lookups in mapping tables referenced within a row access policy or masking policy. Currently, memoizable functions are available for scalar SQL UDFs only.

For details, refer to Memoizable UDFs.

Working with Amazon S3-compatible Storage — Preview

With this release, Snowflake is pleased to announce the preview of support for accessing data in Amazon S3-compatible storage. You can create external stages and external tables on software and devices, on premises or in a private cloud, that is highly compliant with Amazon S3 API. By using this feature, you can manage, govern, and analyze your data more easily and efficiently, regardless of where the data is physically stored.

Note that Amazon S3-compatible endpoints are not automatically enabled for all accounts. To request this feature, contact the Snowflake account team or Snowflake Support. Make sure that you verify the endpoints by using our public test suite (https://github.com/snowflakedb/snowflake-s3compat-api-test-suite) (in GitHub) before sending the request.

For details, refer to Working with Amazon S3-compatible storage.

Account Usage: New PASSWORD_POLICIES View

With this release, Snowflake adds a new view, PASSWORD_POLICIES, in the Account Usage schema of the shared SNOWFLAKE database. This view returns one row for each password policy in the account. Note that access to this view can be granted through the Snowflake-provided SECURITY_VIEWER database role.

For details, refer to PASSWORD_POLICIES view and SNOWFLAKE database roles.

Account Usage: New SESSION_POLICIES View

With this release, Snowflake adds a new view, SESSION_POLICIES, in the Account Usage schema of the shared SNOWFLAKE database. This view returns one row for each session policy in the account. Note that access to this view can be granted through the Snowflake-provided SECURITY_VIEWER database role.

For details, refer to SESSION_POLICIES view and SNOWFLAKE database roles.

SQL Updates

Setting a Snowflake Scripting Variable to the Scalar Return Value from a Stored Procedure

With this release, you can use the new INTO :snowflake_scripting_variable clause in a CALL statement to capture a scalar return value from a stored procedure in a Snowflake Scripting variable. For example:

DECLARE
  ret1 NUMBER;
BEGIN
  CALL my_procedure('Manitoba', 127.4) into :ret1;
  RETURN ret1;
END;
Copy

Note: If you are using SnowSQL or the classic web interface, use this example instead (refer to Using Snowflake Scripting in SnowSQL, the Classic Console, and Python Connector):

EXECUTE IMMEDIATE $$
DECLARE
  ret1 NUMBER;
BEGIN
  CALL my_procedure('Manitoba', 127.4) into :ret1;
  RETURN ret1;
END;
$$
;
Copy

New SQL Functions

The following function(s) were introduced in recent releases:

Function Category

New Function

Description

Aggregate Functions (General)

MIN_BY and MAX_BY

Finds the row(s) containing the minimum or maximum value for a specified column and returns the value of a second specified column for that row.

Data Governance Updates

Column Lineage — General Availability

With this release, Snowflake is pleased to announce the general availability of column lineage. Column lineage (i.e. Access History for columns) extends the objects_modified column in the Account Usage ACCESS_HISTORY view to specify how data flows from the source column to the target column in a write operation. Snowflake tracks the data from the source columns through all subsequent table objects that reference data from the source columns (e.g. INSERT, MERGE, CTAS).

This feature was announced in preview in October 2022. For details, refer to Access History and the ACCESS_HISTORY view.

Web Interface Updates

Snowsight Worksheet Version History Retention

To improve Snowsight performance, worksheet version history older than 90 days will be removed on a regular basis. The stored query results for those versions will also be removed.

Language: English