Exemples de VARARGS

Exemple n° 1

Cet UDF VARARGS prend de un à 64 arguments (l'implémentation de Netezza UDX est actuellement limitée à un maximum de 64 arguments), les additionne et renvoie le résultat. La méthode initialize() est utilisée pour vérifier que tous les arguments transmis à l'UDF sont des nombres. La variable globale ARGCOUNT indique le nombre d'arguments qui ont été transmis à l'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