2022_03バンドル

このトピックでは、その月における次の動作の変更(ある場合)について説明します。

  • 廃止された機能。

  • 有効になったバンドルされた変更。

  • その他、実装されたバンドルされていない変更。

これらの変更について質問がある場合は、 Snowflakeサポート にお問い合わせください。

今月導入された新機能、拡張機能、および修正の詳細については、 2022年6月 をご参照ください。

重要

特に明記されていない限り、これらは2022_03バンドルで変更されており、6.21の動作変更リリースにおいてデフォルトで有効になっています。

このトピックの内容:

セキュリティの変更

アクセス制御: ロールまたはユーザーから存在しないロール付与を取り消すときのエラーメッセージ

REVOKE ROLE コマンドを実行してユーザーまたは別のロールからロールを取り消すものの、そのロールが現在指定されたオブジェクトに付与されていない場合、返されるエラーメッセージは次のように変更されます。

以前のエラーメッセージテキスト:

Revoke not executed: Insufficient privileges

現在のエラーメッセージテキスト:

Statement executed successfully

エラーメッセージテキストにもかかわらず、 SQL ステートメントは成功することに注意してください。この変更により、クエリ履歴ログを確認する際の不要な懸念を回避できます。

SQL 変更点 --- 一般

TZDB の2021aリリースへの更新

Snowflakeは、タイムゾーン情報(例: CONVERT_TIMEZONE のタイムゾーン名とエイリアスのリスト)にタイムゾーンデータベース(TZDB)を使用します。

Snowflakeは、使用される TZDB バージョンを更新しました。

以前:

Snowflakeは、 TZDB の以前のリリース(2016fから開始)を使用していました。

現在:

Snowflakeは TZDB の2021aリリースを使用します。

TZDB の2021aリリースまでに行われた変更のリストについては、 tzデータベースのニュース をご参照ください。

SQL の変更 --- コマンドおよび関数

SHOW SHARES コマンドおよびデータ共有 UI: 出力の変更

出力に アカウントロケーター (旧称: 自動生成されたアカウント名)を含む、 SHOW SHARES コマンドとデータ共有用の対応するウェブインターフェイスが、組織名と新しいアカウント名を使用するように変更されました。

以前:
  • NAME 列には、 <アカウントロケーター>.<共有名> が表示されました。

  • TO 列(アウトバウンド共有の場合)には、 <アカウントロケーター> が表示されました。

現在:
  • NAME 列には、 <組織名>.<アカウント名>.<共有名> が表示されます。

  • TO 列(アウトバウンド共有の場合)には、 <組織名>.<アカウント名> が表示されます。

さらに、パラメーターとして <アカウントロケーター>.<共有名> を使用する次のコマンドでは、パラメーターとして <組織名>.<アカウント名>.<共有名> を使用できます。

アカウントロケーターと新しいアカウント名の違いの詳細については、 アカウント識別子 をご参照ください。

DESCRIBE TASK / SHOW TASKS コマンド: 出力の新しい列

DESCRIBE TASK および SHOW TASKS コマンドの出力に、新しい ERROR_INTEGRATION 列が含まれるようになりました。この変更の影響を制限するために、この列は出力の最後の列として追加されています。

この列には、Amazon Simple Notification Service(SNS)にアクセスしてタスクのエラー通知を中継するために使用される、通知統合の名前が表示されます。

SHOW TASKS コマンド: 出力の新しい列

SHOW TASKS コマンドの出力には、次の2つの新しい列が含まれるようになりました。

列名

データ型

説明

LAST_COMMITTED_ON

TIMESTAMP

タスクのバージョンが最後に設定された日時を指定します。バージョンが設定されていない場合(つまり、タスクが作成された後に再開されていないか、手動で実行されていない場合)、値は NULL です。

LAST_SUSPENDED_ON

TIMESTAMP

タスクが最後に一時停止された日時を指定します。タスクがまだ一時停止されていない場合、値は NULL です。

両方の列とも、スタンドアロンタスクまたはツリー内のルートタスクに関連しています。ツリー内の子タスクに対する列の値は NULL です。

SHOW TASKS コマンドおよび TASK_DEPENDENTS 関数: PREDECESSOR / PREDECESSORS 列への変更

特定のタスクの先行タスクがある場合は、次の列に返されます。

  • SHOW TASKS コマンドに対する出力内の PREDECESSORS 列。

  • TASK_DEPENDENTS テーブル関数(Information Schema内)に対する出力内の PREDECESSOR 列。

列の値は次のように変更されました。

以前:

値は文字列として返されました。例:

mydb.myschema.task1

現在:

値は JSON 配列として返されます。配列内の個々のタスク名は完全修飾されています(つまり、コンテナーデータベースとスキーマ名が含まれます)。タスク名の二重引用符は、バックスラッシュ(\)を使用してエスケープされます。

配列には単一の値が含まれています。例:

[
"mydb.myschema.task1"
]
Copy

タスクに先行タスクがない場合、配列は空 [] です。

さらに、 TASK_DEPENDENTS 出力の PREDECESSOR 列の名前が PREDECESSORS に変更されました。

これらの変更は、タスクの 有向非巡回グラフ (DAGs)をサポートするために行われました。

SQL の変更 --- 使用状況ビューおよびInformation Schemaビュー/テーブル関数

GRANTS_TO_ROLES ビュー(Account Usage): CREATE WAREHOUSE 権限の付与を返す

GRANT_TO_ROLES ビュー(SNOWFLAKE データベースの ACCOUNT_USAGE スキーマ内)に、ロールに対する CREATE WAREHOUSE グローバル権限の既存の付与が含まれるようになりました。以前は、ビューをクエリしても、この権限の付与は返されませんでした。

SHOW GRANTS コマンドは CREATE WAREHOUSE 権限の付与を返すことに注意してください。

USERS ビューおよび ROLES ビュー(Account Usage): 新しい列の追加

次の列が USERS ビューと ROLES ビューに追加されました(SNOWFLAKE データベースの ACCOUNT_USAGE スキーマ内)。

列名

データ型

説明

OWNER

VARCHAR

オブジェクトに対する OWNERSHIP 権限を持つロールを指定します。USERS ビューと ROLES ビューの両方に追加されました。

DEFAULT_SECONDARY_ROLES

VARCHAR

ユーザーのデフォルトのセカンダリロール(つまり、 ALL)または設定されていない場合は NULL を指定します。USERS ビューにのみ追加されます。

この変更の影響を制限するために、新しい列は出力の最後の列として追加されています。

VIEWS ビュー(Account Usage): ビューに追加されたマテリアライズドビュー

マテリアライズドビューが VIEWS ビュー(SNOWFLAKE データベースの ACCOUNT_USAGE スキーマ)に含まれるようになりました。

以前は、 VIEWS ビューにはマテリアライズドビューが含まれていませんでした。

データのロードの変更

VALIDATE_UTF8 ファイル形式オプション ---廃止

VALIDATE_UTF8 ファイル形式オプションは、文字列列データの UTF-8文字エンコードを検証するかどうかを指定します。このオプションは、古いバージョンのSnowflakeとの下位互換性を確保するためにのみ提供されました。オプション値は2017年初期からデフォルトで TRUE に設定されているため、製品ドキュメントではデフォルト設定を上書きしないように強く求められています。

このオプションは現在廃止され、デフォルト値を上書きしようとしたときの動作が次のように変更されました。

  • VALIDATE_UTF8 = FALSE を設定する CREATE <オブジェクト>ALTER <オブジェクト>、または COPY INTO <テーブル> ステートメントを実行すると、ユーザーエラーが発生します。次のオブジェクト型は、このファイル形式オプションをサポートしています。

    • ファイル形式

    • ステージ

    • テーブル

  • オプションが既存のオブジェクトで上書きされている場合は、データのロード時に無視されるようになりました。ロード操作には、 UTF-8文字エンコードの検証が含まれます。