Neue Funktion: ARRAY_FLATTEN kann zu Konflikten mit ähnlich benannten UDFs führen¶
Achtung
Diese Verhaltensänderung ist in Bundle 2023_06 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Mit dem aktuellen Snowflake-Release führt Snowflake eine neue integrierte Funktion namens ARRAY_FLATTEN ein.
ARRAY_FLATTEN vereinfacht ein ARRAY von ARRAYs zu einem einzigen ARRAY.
Wenn ARRAY mehr als zwei Ebenen tief verschachtelt ist, wird nur eine Ebene der Verschachtelung entfernt.
Wenn das Eingabe-ARRAY NULL ist oder irgendwelche NULL-Elemente enthält, dann ist das Ergebnis NULL.
Wenn Sie eine UDF mit dem Namen ARRAY_FLATTEN haben, hat diese Verhaltensänderung folgende Auswirkungen:
- Bisher:
Das Aufrufen von ARRAY_FLATTEN führt zur Ihrer UDF.
- Jetzt:
Das Aufrufen von ARRAY_FLATTEN wird zu der neuen integrierten Funktion ARRAY_FLATTEN führen.
Die integrierte Funktion ARRAY_FLATTEN funktioniert möglicherweise anders als Ihre UDF.
Wenn die dokumentierte Semantik der neuen integrierte ARRAY_FLATTEN-Funktion nicht mit der Semantik Ihrer UDF übereinstimmt, haben Sie folgende Möglichkeiten:
Benennen Sie Ihre UDF um (mit ALTER FUNCTION … RENAME TO …), und ersetzen Sie alle Verweise auf den ursprünglichen UDF-Namen durch den neuen Namen.
Verwenden Sie überall vollqualifizierte Referenzen auf Ihre UDF, indem Sie die Namen der Datenbank und des Schemas angeben, die die UDF enthalten. Beispiel:
SELECT my_database.my_schema.array_flatten(...);
Ref.: 1239