[ https://issues.apache.org/jira/browse/FLINK-8689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454418#comment-16454418 ]
ASF GitHub Bot commented on FLINK-8689: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/5555#discussion_r184419816 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/aggfunctions/DistinctAccumulator.scala --- @@ -47,60 +51,51 @@ class DistinctAccumulator[E, ACC](var realAcc: ACC, var mapView: MapView[E, JLon override def equals(that: Any): Boolean = that match { case that: DistinctAccumulator[E, ACC] => that.canEqual(this) && - this.mapView == that.mapView + this.distinctValueMap == that.distinctValueMap case _ => false } def add(element: E): Boolean = { - if (element != null) { - val currentVal = mapView.get(element) - if (currentVal != null) { - mapView.put(element, currentVal + 1L) - false - } else { - mapView.put(element, 1L) - true - } - } else { + val wrappedElement = Row.of(element) --- End diff -- I think we should remove the `E` type parameter and directly pass the `Row` as an argument. That will also make the extension to multiple arguments very easy. Actually, I think I'll do that before merging > 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)