Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Returning multiple values in UDF

I have written an AggregateFactory Vertica UDF which returns a single value

getReturnTypes(si,columnTypes args,columnTypes returnTypes){

 returnTypes.addVarbinary(512);
 //I want to add second returnType
returnTypes.addFloat("");
} 

getProtoType(si,columnTypes args,columnTypes returnTypes){
returnTypes.addVarbinary(512);
 //I want to add second returnType
returnTypes.addFloat("");
}

this is not working, how can I return two values from an AggregateFactory UDF?

like image 773
Raj Avatar asked Apr 17 '26 04:04

Raj


1 Answers

You cannot. User Defined Aggregate Functions (as explained in the fine manual) return ONE value per group. You might want to write a User Defined Transform Function (maybe a multi-phase Transform Function).

like image 111
mauro Avatar answered Apr 22 '26 04:04

mauro