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 3Registrazione
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 3In 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)