June 07-08, 2023 — 7.19 Release Notes (with behavior changes)¶
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.
Behavior Changes Bundles¶
This release contains the following behavior change bundles:
Bundle Name |
Status in this Release |
Previous Status |
---|---|---|
Disabled by default; admins can enable for testing |
N/A (introduced in this release) |
|
Enabled by default; admins can disable for opt-out |
Disabled by default |
|
Generally enabled; admins can no longer enable/disable |
Enabled by default |
The status for each bundle will change in the next behavior change release, planned for July; however, this schedule is subject to change.
For more information about bundle statuses and how they may impact your accounts, see About Behavior Changes.
New Features¶
Anonymous Procedures — General Availability¶
With this release, we are pleased to announce the general availability of support for creating anonymous procedures. An anonymous procedure is similar to a stored procedure, but not stored for later use.
You can create an anonymous procedure using the WITH…CALL syntax. With this command, you both create an anonymous procedure defined by parameters in the WITH clause and call that procedure. You do not need to have a role with CREATE PROCEDURE schema privileges for this command.
Reading Files With a Java Function or Procedure Handler — General Availability¶
With this release, we are pleased to announce the general availability of support for reading staged files with a UDF or procedure handler code written in Java.
For more information, refer to Reading a file with a Java UDF and Reading a file with a Java procedure.
Reading Files With a Scala Function or Procedure Handler — Preview¶
With this release, we are pleased to announce a preview of support for reading staged files with a UDF or procedure handler code written in Scala.
For more information, refer to Reading a file with a Scala UDF and Reading a file with a Scala procedure.
Reading Files With a Python Function or Procedure — Preview¶
With this release, we are pleased to announce a preview of Python support for reading files with the SnowflakeFile
class.
SnowflakeFile
is a new class in the snowflake.snowpark.files
module that provides dynamic read access for files on an
internal or external stage. With SnowflakeFile
, you can stream files to accomplish tasks such as reading unstructured data or using
your own machine learning model in a user-defined function (UDF), user-defined table function (UDTF), or stored procedure.
For more information, refer to:
Schema Detection for JSON and CSV — Preview¶
With this release, we are pleased to announce a preview of the schema detection feature for JSON and CSV. The schema detection feature uses the INFER_SCHEMA function to automatically detect the schema in a set of staged data files and retrieve the column definitions. The generally available INFER_SCHEMA function applies to Apache Parquet, Apache Avro, and ORC files. This preview function expands support to include JSON and CSV files.
For more information, refer to Schema detection of column definitions from staged semi-structured data files.
Table Schema Evolution — Preview¶
With this release, we are pleased to announce a preview of the table schema evolution feature. The structure of tables in Snowflake can now evolve automatically to support the structure of new data received from the data sources. Snowflake allows adding new columns or dropping the NOT NULL constraint from columns missing in new data files, and supports dropping columns or changing the data type, length, or precision of existing columns.
To enable table schema evolution, you can set the ENABLE_SCHEMA_EVOLUTION parameter to TRUE when you create or alter a table.
For more information, refer to Table schema evolution.
SQL Updates¶
Support for Python 3.9 in Snowpark, UDFs, and Stored Procedures — Preview¶
With this release, we are pleased to announce support for Python 3.9 in Snowpark Python, Python UDFs and Python stored procedures as a preview feature to all accounts.
For more information, refer to:
UDFs, UDTFs, and Stored Procedures Support Passing Arguments by Name¶
When calling a UDF, UDTF, or stored procedure, you can now pass arguments by name, in addition to by position.
For example, suppose that you created a UDF with the following statement:
CREATE OR REPLACE FUNCTION add_numbers (n1 NUMBER, n2 NUMBER)
RETURNS NUMBER
AS 'n1 + n2';
To pass the arguments by name, specify the argument name followed by => and the argument value. For example:
SELECT add_numbers(n1 => 10, n2 => 5);
You can pass the arguments in any order:
SELECT add_numbers(n2 => 5, n1 => 10);
For more information, refer to:
If there are multiple functions or procedures with the same name, the same number of arguments, and different data types for the arguments, you can specify the argument names in the call to indicate which function or procedure to execute. The argument names that you specify in the call take precedence over the argument positions. For more information, refer to Overloading procedures and functions.
Finally, the following built-in functions support passing arguments by name:
Data Science Updates¶
Work With Snowflake’s Upcoming ML features¶
This release introduces a new schema, “ML”, to the Snowflake database, along with an ML_USER SNOWFLAKE database role, which is granted to the PUBLIC role in all Snowflake accounts containing a shared SNOWFLAKE database.
For more information, refer to:
The schema, roles, and privileges support features that will be made available in Public Preview at Snowflake Summit 2023.
Organization Updates¶
ACCOUNTS View (Organization Usage) — Preview¶
With this release, we are pleased to announce the preview of the ACCOUNTS view in the ORGANIZATION_USAGE schema. The ACCOUNTS view allows an organization administrator to obtain details about the accounts in an organization, including accounts deleted within the last year.
For more information, refer to ACCOUNTS view.
Web Interface Updates¶
New Organizations Only Have Snowsight Access¶
Starting May 30, 2023, new Snowflake organizations only have access to Snowsight and no longer have access to Classic Console.
For more information, refer to About the Snowsight upgrade.