[
https://issues.apache.org/jira/browse/FLINK-8689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454434#comment-16454434
]
ASF GitHub Bot commented on FLINK-8689:
---------------------------------------
Github user walterddr commented on a diff in the pull request:
https://github.com/apache/flink/pull/5555#discussion_r184441869
--- 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 --
Thanks @fhueske for the insight. yeah I thought about that before the last
commit but didn't go through with it, since we still need to construct the row
of single element before passing to the distinct accumulator. But you are
right, it will make future optimization easier
> 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)