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(...);
Réf : 1430