Eu só estou querendo saber como escrever uma função wrapper no PostgreSQL (a partir de 12.x) para uma heterogeneous
função VARIADIC como jsonb_build_object
?
A maioria dos exemplos SQL de funções VARIADIC que posso encontrar não são heterogêneos. A parte VARIADIC é essencialmente uma matriz de elementos do mesmo tipo. Mas eu preciso escrever um wrapper para jsonb_build_object
fazer algum pós-processamento. Aqui, os tipos de parâmetros na parte variável (lista de valores-chave) não são os mesmos.
Atualmente, escrevo:
my_func(jsonb_build_object(k1, v1, k2, v2, ...))
Mas esse clichê está ficando chato...
jsonb_build_object()
recebeVARIADIC "any"
como entrada. O pseudotipo"any"
é um espaço reservado para qualquer tipo de entrada. Atualmente, isso só funciona para uma função C. O manual:Não há tradução de um para um para uma implementação com outra linguagem procedural. Pode haver soluções alternativas, dependendo do seu objetivo exato.