Error happened in getReturnType : unused argument (list(datatype = c(1, 1), length = c(0, 0), scale = c(0, 0), name = 1:2)). I just define the outtype callback function like the example , i don't know why show this error message , could you give me an example for the outtype = "any"?
- Think about an example that will be a representative example for you - If you can't - provide an original problem
>> could you give me an example for the outtype = "any" No, you must to concretize. 1. Because an example of documentation also fit your definition: "an example for the outtype = "any"", but you do not understands, so you MUST to be more concrete. 2. I can explain what you does understand and do not explain what actually you don't
I have same issue. When outputtype= "any" how to define outtypecallback? I might have any number of rows with any datatype in the output. I would not be able to name them or tell their datatypes to create outtypecallback function
Comments
Can you explain what you can't understand in this example?
https://my.vertica.com/docs/7.0.x/HTML/index.htm#Authoring/ProgrammersGuide/UserDefinedFunctions/UDx...
It will help to support to improve a documentation.
- Think about an example that will be a representative example for you
- If you can't - provide an original problem
>> could you give me an example for the outtype = "any"
No, you must to concretize.
1. Because an example of documentation also fit your definition: "an example for the outtype = "any"", but you do not understands, so you MUST to be more concrete.
2. I can explain what you does understand and do not explain what actually you don't
I might have any number of rows with any datatype in the output. I would not be able to name them or tell their datatypes to create outtypecallback function
In this example the return type doesn't depend on the input types and hence the function stringreturntype doesn't need to look at the intypes.
stringConcat <- function(x,y)
{
fullname <- paste(x[,1] ," ",x[,2])
fullname
}
polyTransformfac <- function()
{
list(name=stringConcat,
udxtype=c("transform"),
intype=c("any"),
outtype=c("any"),
outtypecallback = stringreturntype)
}
stringreturntype <- function(x,y)
{
ret <- data.frame(datatype=rep(NA, 1), length=rep(NA, 1), scale=rep(NA,1))
ret[1,1] = "varchar"
ret[1,2] = 20
ret[1,3] = 0
ret
}
In this function the return type depends on intypes, it returns all the intypes except the first one as returntypes
polyTopK<- function(x,y)
{
k = x[1,1]
if(!check.integer(k))
{
stop("First argument must be an integer (the 'k' value)")
}
j = ncol(x)
ret = NULL
df = convert.factors.to.strings.in.dataframe(x)
for(i in 1:nrow(x))
{
if( i > k)
{
break
}
rbind(ret,df[i,2:j])->ret
}
if(k<=0)
{
ret<-as.data.frame(matrix(0,nrow=0,ncol=j-1))
}
ret
}
polyTopKReturnType <- function(x,y)
{
ret <- NULL
for( i in 2:nrow(x))
{
rbind(ret,x[i,]) -> ret
}
ret
}
polyTopKFactory <- function()
{
list(
name=polyTopK,
udxtype=c("transform"),
intype=c("any"),
outtype=c("any") ,
outtypecallback=polyTopKReturnType
)
}
HTH
Pratibha