[ https://issues.apache.org/jira/browse/FLINK-8689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16376793#comment-16376793 ]
ASF GitHub Bot commented on FLINK-8689: --------------------------------------- Github user hequn8128 commented on a diff in the pull request: https://github.com/apache/flink/pull/5555#discussion_r170577231 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/AggregationCodeGenerator.scala --- @@ -105,11 +106,32 @@ class AggregationCodeGenerator( // get unique function name val funcName = newName(name) + + // get distinct filter of acc fields for each aggregate functions + val distinctAccType = s"${classOf[DistinctAccumulator[_, _]].getName}" + val distinctAggType = s"${classOf[DistinctAggDelegateFunction[_, _]].getName}" + val isDistinctAcc = aggregates.map(_.isInstanceOf[DistinctAggDelegateFunction[_, _]]) + // register UDAGGs val aggs = aggregates.map(a => addReusableFunction(a, contextTerm)) + // register real aggregate functions without distinct delegate + val realAggregates: Array[AggregateFunction[_ <: Any, _ <: Any]] = aggregates.map { + case distinctAggDelegate: DistinctAggDelegateFunction[_, _] => + distinctAggDelegate.realAgg + case agg: AggregateFunction[_, _] => + agg + } + + val realAggTypes = aggregates.map { --- End diff -- Can be replaced by `realAggregates.map(_.getClass.getName)` > Add runtime support of distinct filter using MapView > ----------------------------------------------------- > > Key: FLINK-8689 > URL: https://issues.apache.org/jira/browse/FLINK-8689 > Project: Flink > Issue Type: Sub-task > Reporter: Rong Rong > Assignee: Rong Rong > Priority: Major > > This ticket should cover distinct aggregate function support to codegen for > *AggregateCall*, where *isDistinct* fields is set to true. > This can be verified using the following SQL, which is not currently > producing correct results. > {code:java} > SELECT > a, > SUM(b) OVER (PARTITION BY a ORDER BY proctime ROWS BETWEEN 5 PRECEDING AND > CURRENT ROW) > FROM > MyTable{code} > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)