[ https://issues.apache.org/jira/browse/FLINK-7194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089419#comment-16089419 ]
Ruidong Li commented on FLINK-7194: ----------------------------------- [~fhueske]I agree to your suggestion, but the {{getResultType()}} in {{ScalarFunction}} is different from {{TableFunction}} and {{AggregateFunction}}, what about if we put a ban on overloading {{eval()}} in {{ScalarFunction}}? That will result in better consistence. > Add getResultType and getAccumulatorType to AggregateFunction > ------------------------------------------------------------- > > Key: FLINK-7194 > URL: https://issues.apache.org/jira/browse/FLINK-7194 > Project: Flink > Issue Type: Improvement > Components: Table API & SQL > Affects Versions: 1.4.0 > Reporter: Fabian Hueske > > FLINK-6725 and FLINK-6457 proposed to remove methods with default > implementations such as {{getResultType()}}, {{toString()}}, or > {{requiresOver()}} from the base classes of user-defined methods (UDF, UDTF, > UDAGG) and instead offer them as contract methods which are dynamically > In PR [#3993|https://github.com/apache/flink/pull/3993] I argued that these > methods have a fixed signature (in contrast to the {{eval()}}, > {{accumulate()}} and {{retract()}} methods) and should be kept in the > classes. For users that don't need these methods, this doesn't make a > difference because the methods are not abstract and have a default > implementation. For users that need to override the methods it makes a > difference, because they get IDE and compiler support when overriding them > and the cannot get the signature wrong. > Consequently, I propose to add {{getResultType()}} and > {{getAccumulatorType()}} as methods with default implementation to > {{AggregateFunction}}. This will make the interface of {{AggregateFunction}} > more consistent with {{ScalarFunction}} and {{TableFunction}}. > What do you think [~shaoxuan], [~RuidongLi] and [~jark]? -- This message was sent by Atlassian JIRA (v6.4.14#64029)