Ejemplos de VARARGS

Ejemplo nº 1

Esta UDF VARARGS toma de uno a 64 argumentos (la implementación de Netezza UDX está actualmente limitada a un máximo de 64 argumentos), los suma y devuelve el resultado. El método initialize() se utiliza para verificar que todos los argumentos que se pasan a la UDF son números. La variable global ARGCOUNT indica el número de argumentos que se han pasado a la UDX VARARGS.
function initialize()
for i,type in pairs(ARGTYPE) do
if type != TYPE_NUMBER then
error("All arguments must be numbers!",0)
end
end
end

function evaluate( ... )
local x=0
for i=1,ARGCOUNT do
x = x + select(i, ...)
end

return x

end

function getType()
return "udf"

end

function getName()
return "varadd"

end

function getArgs()
return varargs

end

function getResult()
return double

end