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

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

Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/3762#discussion_r113067259
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/AggregateFunction.scala
 ---
    @@ -17,36 +17,93 @@
      */
     package org.apache.flink.table.functions
     
    -import java.util.{List => JList}
    -
    -import org.apache.flink.api.common.typeinfo.TypeInformation
    -import org.apache.flink.table.api.TableException
    -
     /**
       * Base class for User-Defined Aggregates.
       *
    -  * @tparam T the type of the aggregation result
    +  * The behavior of an [[AggregateFunction]] can be defined by 
implementing a series of custom
    +  * methods. An [[AggregateFunction]] needs at least three methods: 
createAccumulator, getValue,
    +  * and accumulate. There are a few other methods that can be optional to 
have: retract, merge,
    +  * resetAccumulator, and getAccumulatorType.
    +  *
    +  * All these methods muse be declared publicly, not static and named 
exactly as the names
    +  * mentioned above. The methods createAccumulator and getValue are 
defined in the
    +  * [[AggregateFunction]] functions, while other methods are explained 
below.
    +  *
    +  *
    +  * {{{
    +  * Processes the input values and update the provided accumulator 
instance. The method
    +  * accumulate can be overloaded with different custom types and 
arguments. This function is
    --- End diff --
    
    "This function is always a MUST to have." -> "An AggregateFunction requires 
at least one accumulate method"?


> Finalize the AggregateFunction interface and refactoring built-in aggregates
> ----------------------------------------------------------------------------
>
>                 Key: FLINK-6361
>                 URL: https://issues.apache.org/jira/browse/FLINK-6361
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API & SQL
>            Reporter: Shaoxuan Wang
>            Assignee: Shaoxuan Wang
>
> We have completed codeGen for all aggregate runtime functions. Now we can 
> finalize the AggregateFunction. This includes 1) remove Accumulator trait; 2) 
> remove accumulate, retract, merge, resetAccumulator, getAccumulatorType 
> methods from interface, and allow them as contracted methods for UDAGG; 3) 
> refactoring the built-in aggregates accordingly.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to