Nova função: ARRAY_FLATTEN pode entrar em conflito com as UDFs de nome semelhante¶
Atenção
Essa mudança de comportamento está no pacote 2023_06.
Para saber o status atual do pacote, consulte Histórico do pacote.
Na versão atual do Snowflake, o Snowflake introduziu uma nova função interna chamada ARRAY_FLATTEN.
ARRAY_FLATTEN nivela um ARRAY de ARRAYs em um único ARRAY.
Se ARRAY estiver aninhada com mais de dois níveis de profundidade, apenas um único nível de aninhamento será removido.
Se a ARRAY de entrada for NULL ou contiver quaisquer elementos NULL, o resultado será NULL.
Se você tiver uma UDF chamado ARRAY_FLATTEN, essa mudança de comportamento terá o seguinte efeito:
- Anteriormente:
Chamadas para ARRAY_FLATTEN são resolvidas para sua UDF.
- Atualmente:
Chamadas para ARRAY_FLATTEN serão resolvidas para a nova função ARRAY_FLATTEN interna.
A função interna ARRAY_FLATTEN pode funcionar de maneira diferente da sua UDF.
Se a semântica documentada da nova função ARRAY_FLATTEN interna não corresponder à semântica de sua UDF, você poderá:
Renomear sua UDF (usando ALTER FUNCTION … RENAME TO …) e substituir todas as referências ao nome da UDF original pelo novo nome.
Qualificar totalmente todas as referências à sua UDF especificando os nomes do banco de dados e do esquema que contém a UDF. Por exemplo:
SELECT my_database.my_schema.array_flatten(...);
Ref: 1239