Fabian Hueske created FLINK-18683:
-------------------------------------

             Summary: Support @DataTypeHint for TableFunction output types
                 Key: FLINK-18683
                 URL: https://issues.apache.org/jira/browse/FLINK-18683
             Project: Flink
          Issue Type: Sub-task
          Components: Table SQL / API
            Reporter: Fabian Hueske


For ScalarFunctions, the return type of an eval method can be declared with a 
{{@DataTypeHint}}:


{code:java}
@DataTypeHint("INT")
public Integer eval(Integer value) {
  return value * 2;
}{code}

This does not work for TableFunctions because the {{@DataTypeHint}} annotation 
refers to the {{void}} return type. Hence, {{TableFunction}} {{eval()}} methods 
must always be annotated with the more complex {{@FunctionHint}} method.
However, I think that context, it is clear that the {{@DataTypeHint}} 
annotation refers to the actual return type of the table function (the type 
parameter of {{TableFunction<OUT>}}).



We could consider allowing {{@DataTypeHint}} annotations also on 
{{TableFunction}} classes (defining the output type of all eval methods) and 
{{eval()}} methods.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to