新しい関数: ARRAY_FLATTEN が類似した名前の UDFs と競合する可能性¶
Snowflakeの現在のリリースでは、Snowflakeは ARRAY_FLATTEN という新しい組み込み関数を導入しました。
ARRAY_FLATTEN は、 ARRAYs の ARRAY を単一の ARRAY にフラット化します。
ARRAY が2レベル以上の深度でネストされている場合は、1レベルのネストのみが削除されます。
入力 ARRAY が NULL であるか、 NULL の要素を含む場合、結果は NULL になります。
ARRAY_FLATTEN という名前の UDF がある場合、この動作変更は以下のような影響をもたらします。
- 以前:
ARRAY_FLATTEN への呼び出しは UDF に解決されます。
- 現在:
ARRAY_FLATTEN への呼び出しは、新しい組み込み ARRAY_FLATTEN 関数に解決されます。
組み込み ARRAY_FLATTEN 関数は、使用する UDF と異なる動作をする場合があります。
新しい組み込み ARRAY_FLATTEN 関数の文書化されたセマンティクスが、使用する UDF のセマンティクスと一致しない場合、次のいずれかを実行できます。
UDF の名前を変更し(ALTER FUNCTION ... RENAME TO ... を使用)、元の UDF の名前に対する参照をすべて新しい名前に置き換えます。
UDF を含むデータベースとスキーマの名前を指定して、 UDF へのすべての参照を 完全に修飾 します。例:
SELECT my_database.my_schema.array_flatten(...);
参照: 1239