[ 
https://issues.apache.org/jira/browse/FLINK-7194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16094838#comment-16094838
 ] 

ASF GitHub Bot commented on FLINK-7194:
---------------------------------------

GitHub user fhueske opened a pull request:

    https://github.com/apache/flink/pull/4379

    [FLINK-7194] [table] Add methods for type hints to UDAGG interface.

    - [X] General
      - The pull request references the related JIRA issue ("[FLINK-XXX] Jira 
title text")
      - The pull request addresses only one issue
      - Each commit in the PR has a meaningful commit message (including the 
JIRA id)
    
    - [ ] Documentation
      - Documentation for UDAGGs will be provided by FLINK-6751
    - [X] JavaDoc for public methods has been added
    
    - [X] Tests & Build
      - Functionality added by the pull request is covered by tests
      - `mvn clean verify` has been executed successfully locally or a Travis 
build has passed


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/fhueske/flink tableUDAGG

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/4379.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4379
    
----
commit 22a56c0a2c7e4017b2c3bda56d07cdd6c5d39144
Author: Fabian Hueske <[email protected]>
Date:   2017-07-20T13:09:06Z

    [FLINK-7194] [table] Add default implementations for type hints to UDAGG 
interface.

----


> 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
>            Assignee: 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)

Reply via email to