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

Attention

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

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

Snowflake introduit une nouvelle fonction appelée MAP_KEYS. Si vous avez un UDF nommé MAP_KEYS, les appels à votre fonction ont l’effet suivant :

Avant la modification

Un appel à votre UDF nommé MAP_KEYS se résout en votre UDF.

Après la modification

Un appel à votre UDF nommé MAP_KEYS se résout en la nouvelle fonction intégrée MAP_KEYS, qui échoue avec l’erreur suivante :

Invalid argument types for function 'MAP_KEYS' ...

L’appel à votre UDF échoue parce que les arguments passés à votre UDF ne correspondent pas aux arguments attendus par la fonction intégrée.

Pour éviter que les appels à votre UDF ne se résolvent en fonction intégrée, vous pouvez soit

  • Renommer vos 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.map_keys(...);
    
    Copy

Réf : 1430