Argumentos variáveis
MYDB.SCHEMA(MYUSER)=> CREATE FUNCTION greatest_value(VARARGS) RETURNS
INT64...Dentro do corpo da função, o código deve processar os valores de entrada e gerenciá-los conforme necessário. Por exemplo, o corpo da função deve verificar os tipos de dados dos argumentos de entrada e um cast ou erro de saída conforme aplicável. Você deve projetar seu código UDX para manipular o tipo de dados local dos valores de entrada, como gerenciamento Numeric32Val versus tipos de dados duplo. Se você usar codificação permanente nos valores de entrada, pode declarar a entrada como func(double) e quando chamada com um numérico, o sistema efetua cast para double para você.
Você pode usar assinaturas de argumento variável para criar uma função ou agregado que podem ser usados para combinações diferentes de tipos de entrada. Isto simplifica o desenvolvimento de seus UDFs, UDAs, e UDTFs e reduz a necessidade de criar definições sobrecarregadas que executam a mesma tarefa para diferentes tipos e números de argumentos.