Estoy tratando de extender la funcionalidad de Snowflake con funciones genéricas de JavaScript, especialmente para el procesamiento de matrices, es decir, mapear, filtrar, reducir.
He escrito esta función simple que funciona bien
create function map(A array) returns array language javascript as $$ return A.map(x => x.balance) $$esto funciona bien
select map(myarray) from mytable;Ahora quiero pasar mi requisito de mapa (x => x.balance) como un parámetro para la función, es decir
create or replace function map(A array, MAP string) returns array language javascript as $$ return A.map(MAP) $$Entonces puedo ejecutar
select map(myarray,'x => x.balance') from mytable;pero esto no funciona: ¿cómo puedo lograr esto, e incluso mejor si pudiera crear una función de copo de nieve completamente genérica que me brinde todas las funciones de JS, por ejemplo?
create function JS (func string) returns array language javascript as $$ return func $$entonces podría simplemente correr
select js(myarray.map(x => x.balance)) from mytable;o luego cualquier función de matriz de javascript
Muchas gracias a todos por sus sugerencias :)