在 UDF 中返回多个值
Returning multiple values in UDF
我写了一个 AggregateFactory Vertica UDF,它 return 是一个单一的值
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("");
}
这不起作用,我怎样才能 return 来自 AggregateFactory UDF 的两个值?
你不能。用户定义的聚合函数(如 fine manual 中所述)return 每组一个值。您可能想要编写一个用户定义的 Transform 函数(可能是一个多相变换函数)。
我写了一个 AggregateFactory Vertica UDF,它 return 是一个单一的值
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("");
}
这不起作用,我怎样才能 return 来自 AggregateFactory UDF 的两个值?
你不能。用户定义的聚合函数(如 fine manual 中所述)return 每组一个值。您可能想要编写一个用户定义的 Transform 函数(可能是一个多相变换函数)。