Conversione di funzioni di tabella semplice in linguaggio C++

Il codice della funzione scalare in linguaggio C++ può essere riutilizzato come semplice funzione di tabella apportando piccole modifiche alla registrazione.

Codice

Il codice è lo stesso che si trova nella sezione sulle funzioni scalari del linguaggio C++.

Compilazione

La compilazione è la stessa che viene eseguita in modalità locale o remota.
$NZ_EXPORT_DIR/ae/utilities/bin/compile_ae --language cpp --template compile \
--exe applyopcpp --compargs "-g -Wall" --linkargs "-g" applyopcpp.cpp \
--version 3

Registrazione

Registrate gli eseguibili utilizzando il comando modificato, che cambia '--template e '--return in modo che siano appropriati per una funzione di tabella:
$NZ_EXPORT_DIR/ae/utilities/bin/register_ae \
--sig "tapplyop_cpp(VARARGS)" \
--return "table(d double)" --language cpp --template udtf \
--exe applyopcpp --version 3

In esecuzione

L'AE può ora essere eseguito in 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)