[ https://issues.apache.org/jira/browse/FLINK-9294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541084#comment-16541084 ]
Rong Rong commented on FLINK-9294: ---------------------------------- hmm. nvm. I think I messed up with scala/java implicit conversion. I will ignore Scala class for now. > Improve type inference for UDFs with composite parameter or result type > ------------------------------------------------------------------------ > > Key: FLINK-9294 > URL: https://issues.apache.org/jira/browse/FLINK-9294 > Project: Flink > Issue Type: Sub-task > Components: Table API & SQL > Reporter: Rong Rong > Assignee: Rong Rong > Priority: Major > > Most of the UDF function signatures that includes composite types such as > *{{MAP}}*, *{{ARRAY}}*, etc would require user to override > *{{getParameterType}}* or *{{getResultType}}* method explicitly. > It should be able to resolve the composite type based on the function > signature, such as: > {code:java} > public String[] eval(Map<String, Integer> mapArg) { /* ... */ } > {code} > The function catalog search should do either of the following: > - Automatically resolve that: > 1. *{{ObjectArrayTypeInfo<BasicTypeInfo.STRING>}}* to be the result type. > 2. *{{MapTypeInfo<BasicTypeInfo.STRING, BasicTypeInfo.INTEGER>}}* to be > the parameter type. > - Improved function mapping to find and locate function with such signatures. > During compilation, should do the following: > - Consistent resolution for: (Scala.Map / java.util.Map) and (Scala.Seq / > Java array) > - Automatically ingest type cast function (see FLINK-9430) to match the > correct type, or automatically generate the counter part of the corresponding > Scala / Java implementation of the eval function. -- This message was sent by Atlassian JIRA (v7.6.3#76005)