[ https://issues.apache.org/jira/browse/FLINK-9294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flink Jira Bot reassigned FLINK-9294: ------------------------------------- Assignee: (was: Rong Rong) > 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 SQL / API > Reporter: Rong Rong > Priority: Major > Labels: auto-unassigned, pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > 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: > [Update] > since we have backward compatibility issue with resolving to a different > type, we will not go with the modify type option. > - -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 > > [Update] > This ticket should only cover *Map* and *Row* type, It does not cover > * ObjectArrayType, since Array is actually resolved by eval method signature > correctly. > * Pojo types, Pojo will be addressed separately. > This ticket should consolidate some discrepancy between how TableFunction, > AggregateFunction and ScalarFunction resolves types. which at this moment > goes through different code path. > The rest of the optimization should go to follow up tickets in FLINK-9484 -- This message was sent by Atlassian Jira (v8.3.4#803005)