Nouvelle fonction : ARRAY_FLATTEN peut entrer en conflit avec les UDFs nommées similaires

Attention

Ce changement de comportement est présent dans le bundle 2023_06.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Dans la version actuelle de Snowflake, une nouvelle fonction intégrée nommée ARRAY_FLATTEN a été introduite.

ARRAY_FLATTEN aplatit un ARRAY de ARRAYs en un seul ARRAY.

  • Si le ARRAY est imbriqué à plus de deux niveaux, seul un niveau d’imbrication est supprimé.

  • Si le ARRAY d’entrée est NULL ou contient des éléments NULL, le résultat est NULL.

Si vous avez une UDF nommée ARRAY_FLATTEN, ce changement de comportement a l’effet suivant :

Précédemment:

Les appels à ARRAY_FLATTEN sont résolus par votre UDF.

Actuellement:

Les appels à ARRAY_FLATTEN seront résolus par la nouvelle fonction ARRAY_FLATTEN intégrée.

La fonction ARRAY_FLATTEN intégrée peut fonctionner différemment de votre UDF.

Si la sémantique documentée de la nouvelle fonction ARRAY_FLATTEN intégrée ne correspond pas à la sémantique de votre UDF, vous pouvez soit :

  • Renommer votre UDF (en utilisant ALTER FUNCTION … RENAME TO …) et remplacer toutes les références au nom de l’UDF d’origine par le nouveau nom.

  • Qualifier complètement toutes les références à vos UDF en spécifiant les noms de la base de données et du schéma contenant les UDF. Par exemple :

    SELECT my_database.my_schema.array_flatten(...);
    
    Copy

Réf : 1239