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

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

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

    https://github.com/apache/flink/pull/3735#discussion_r111994938
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/runtime/aggregate/DataSetPreAggFunction.scala
 ---
    @@ -64,38 +68,22 @@ class DataSetPreAggFunction(
       def preaggregate(records: Iterable[Row], out: Collector[Row]): Unit = {
     
         // create accumulators
    -    var i = 0
    -    while (i < aggregates.length) {
    -      accumulators(i) = aggregates(i).createAccumulator()
    -      i += 1
    -    }
    +    accumulators = function.createAccumulators()
     
         val iterator = records.iterator()
     
         while (iterator.hasNext) {
           val record = iterator.next()
    --- End diff --
    
    we can make `record` a `var` and move its definition outside of the loop.
    Then we can get rid of the `if (!iterator.hasNext)` check in the body of 
the while loop and set the `output` fields after the loop has terminated. 


> codeGen DataSet Goupingwindow Aggregates
> ----------------------------------------
>
>                 Key: FLINK-6242
>                 URL: https://issues.apache.org/jira/browse/FLINK-6242
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API & SQL
>            Reporter: Shaoxuan Wang
>            Assignee: Shaoxuan Wang
>




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

Reply via email to