Conversión de funciones de tabla simple en lenguaje C

El código de la función escalar en lenguaje C++ puede reutilizarse como una simple función de tabla realizando pequeñas modificaciones en el registro.

Código

El código es el mismo que se encuentra en la sección de funciones escalares del lenguaje C++.

Una compilación

La compilación es la misma que se realiza en los modos local o remoto.
$NZ_EXPORT_DIR/ae/utilities/bin/compile_ae --language cpp --template compile \
--exe applyopcpp --compargs "-g -Wall" --linkargs "-g" applyopcpp.cpp \
--version 3

Registro

Registra los ejecutables utilizando el comando modificado, que cambia ' --template y ' --return ' para que sean los adecuados para una función de tabla:
$NZ_EXPORT_DIR/ae/utilities/bin/register_ae \
--sig "tapplyop_cpp(VARARGS)" \
--return "table(d double)" --language cpp --template udtf \
--exe applyopcpp --version 3

En ejecución

Ahora se puede ejecutar el AE en SQL:
SELECT * FROM TABLE WITH FINAL(tapplyop_cpp('+',1,2));
D
---
3
(1 row)
SELECT * FROM TABLE WITH FINAL(tapplyop_cpp('+',1,2,3,4));
D
---
10
(1 row)