2022_05 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 August 2022.
Important
Unless otherwise noted, these changes are in the 2022_05 bundle, which was enabled by default in the 6.29 release.
Security Changes¶
Key Pair Authentication: Issuance Time Must Be 1 Day Or Less¶
Key pair authentication with JSON web tokens (JWT) has changed as follows:
- Previously:
JWT tokens allowed with issue time and expiration time to be submitted in seconds. If these values were submitted in milliseconds, Snowflake treated the millisecond value as if it were seconds.
JWT tokens allowed with issue times in the future.
- Currently:
JWT tokens now allowed with issue time and expiration time in milliseconds or seconds.
JWT tokens no longer allowed with issue time in the future. If necessary, update your token-generating process to ensure that the issue time value is not in the future.
SQL Changes — General¶
Changes to Transaction IDs and Timestamps¶
Transaction IDs have increased in size and timestamps returned by select system functions have increased precision:
- Previously:
Transaction ID values were approximately 13 digits long.
Timestamps had a millisecond precision.
- Currently:
A transaction ID is now a signed 64-bit (long) integer. The range of values is
-9,223,372,036,854,775,808 (-263)
to9,223,372,036,854,775,807 (263 – 1)
.Timestamps are converted to nanosecond precision.
This change has the following impact:
Transaction IDs for the following commands and functions are larger by approximately a million times their previous values:
SHOW TRANSACTIONS (
id
column)DESCRIBE TRANSACTION (
id
column)CURRENT_TRANSACTION (output of the function)
LAST_TRANSACTION (output of the function)
SHOW LOCKS (
transaction
column)
The timestamp output for the following system functions has been converted from millisecond to nanosecond precision:
SYSTEM$LAST_CHANGE_COMMIT_TIME (output of the function)
SYSTEM$STREAM_GET_TABLE_TIMESTAMP (output of the function)
SQL Changes — Commands & Functions¶
GET_DDL Function: Changes to Output for Identifiers Containing Double-quotes and Periods¶
The output of the GET_DDL function has changed as follows:
- Previously:
GET_DDL did not correctly return object or column names if the strings contained double-quotes. If a name contained a double-quote, the double-quote must be preceded by another double-quote, resulting in the string containing a pair of double-quotes; however, the function only returned one of the double-quotes.
For example, a table was named
"foo""one"
. Executing GET_DDL on the table incorrectly returned"foo"one"
as the name of the table. As a result, the function output could not be used to recreate the table.In addition, GET_DDL (and other functions that accept fully-qualified object names as strings) were unable to parse the specified name if a period was either at the beginning of the name or immediately following a double-quote in the string.
For example, the following strings were not supported as object names:
".foo"
("
parsed as the schema name andFOO"
as the object name)"public"".foo"
(public"
parsed as the schema name andFOO"
as the object name)
- Currently:
GET_DDL correctly and successfully returns object and column names that contain double quotes.
In addition, GET_DDL (and other functions that accept fully-qualified object names) are able to parse specified object names that contain periods either at the beginning of the name or immediately following a double-quote in the string.
SQL Changes — Usage Views & Information Schema Views/Table Functions¶
FUNCTIONS View (Information Schema): New Columns in View¶
The output of the Information Schema FUNCTIONS view now includes the following new columns:
Column Name |
Data Type |
Description |
---|---|---|
PACKAGES |
STRING |
Specifies the packages requested by the function. |
RUNTIME_VERSION |
STRING |
Specifies the runtime version of the function. NULL if the function is SQL or Javascript |
INSTALLED_PACKAGES |
STRING |
Lists all packages installed by the function. Output for Python functions only. |
Data Pipeline Changes¶
DESCRIBE STREAM / SHOW STREAMS Commands: New INVALID_REASON Column in Output¶
The output of the DESCRIBE STREAM and SHOW STREAMS commands now includes the following column:
Column Name |
Data Type |
Description |
---|---|---|
INVALID_REASON |
STRING |
Specifies the reason when the contents of a stream cannot be queried successfully. This column has been introduced to support future functionality. When the column is introduced, the only value returned will be N/A. |
To help limit the impact of this change, the column has been added as the last column in the output.
Data Lake Changes¶
SHOW EXTERNAL TABLES Command: LOCATION Column Returns NULL for Data Consumers¶
Providers can include external tables, among other database objects, in shares to consumer accounts via Snowflake Secure Data Sharing.
When a user in a consumer account executes the SHOW EXTERNAL TABLES command, the output for shared external tables has changed as follows:
- Previously:
The LOCATION column showed the external stage and folder path in the external table definition for external tables in an imported share (i.e. the same information returned for external tables in the consumer account).
- Currently:
The LOCATION column shows NULL for external tables in an imported share.
Snowflake CLI, Connectors, Drivers, and SQL API Changes¶
Snowflake SQL API: Removal of the Older Endpoints¶
The older, deprecated endpoints of the Snowflake SQL API are no longer available. This includes the following endpoints:
/api/statements/
/api/statements/<statementHandle>
/api/statements/<statementHandle>/cancel
Calls to these endpoints now return an HTTP 404 error code.
You must ensure that you are using the newer version of the SQL API. See About the SQL API Endpoints for more details.