新しい関数: ARRAY_SORT、 ARRAY_MIN、および ARRAY_MAX が類似の名前付き UDFs と競合する可能性¶
現在のリリースにより、Snowflakeは、以下の名前と署名を持つ新しい組み込み関数を導入します。
ARRAY_SORTは、入力 ARRAY の要素を並べ替えて返します。この関数の署名は以下のとおりです。
ARRAY_SORT(input_array)
NULLs が配列の末尾に来るように、要素を昇順に並べ替えます。
ARRAY_SORT(input_array, sort_ascending)
sort_ascending
が TRUE の場合は昇順に、sort_ascending
が FALSE の場合は降順に要素を並べ替えます。sort_ascending
が TRUE の場合は NULLs が最後に、sort_ascending
が FALSE の場合は最初に並べ替えられます。ARRAY_SORT(input_array, sort_ascending, nulls_first)
sort_ascending
が TRUE の場合は昇順に、sort_ascending
が FALSE の場合は降順に要素を並べ替えます。nulls_first
が TRUE の場合は NULLs が最初に、nulls_first
が FALSE の場合は最後に並べ替えられます。
この関数が、2つの異なる数値型やタイムスタンプ型(あるいはこれらの型を含むオブジェクト)の値を比較する際に、安定した並べ替えを提供することは保証されていません。
ARRAY_MIN は、入力配列の最小定義要素を返します。
ARRAY_MAX は、入力配列の最大定義要素を返します。
ARRAY_SORT、 ARRAY_MIN、または ARRAY_MAX という名前の UDFs が同じ署名を持つ場合、この動作変更は以下のような影響を及ぼします。
- 以前:
ARRAY_SORT、 ARRAY_MIN、または ARRAY_MAX への呼び出しは UDFs に解決されます。
- 現在:
ARRAY_SORT、 ARRAY_MIN、または ARRAY_MAX への呼び出しは、新しい組み込み関数に解決されます。
組み込み関数は、使用する UDFs と異なる動作をする場合があります。
新しい組み込み関数の文書化されたセマンティクスが、使用する UDFs のセマンティクスと一致しない場合、次のいずれかを実行できます。
UDFs の名前を変更し(ALTER FUNCTION ... RENAME TO ... を使用)、元の UDF の名前に対する参照をすべて新しい名前に置き換えます。
UDFs を含むデータベースとスキーマの名前を指定して、 UDFs へのすべての参照を 完全に修飾 します。例:
SELECT my_database.my_schema.array_sort(...);
参照: 1135