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)