[
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)