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