flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fhueske <...@git.apache.org>
Subject [GitHub] flink pull request #5555: [FLINK-8689][table]Add runtime support of distinct...
Date Wed, 25 Apr 2018 15:00:49 GMT
Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5555#discussion_r184037303
  
    --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/AggregationCodeGenerator.scala
---
    @@ -151,8 +157,36 @@ class AggregationCodeGenerator(
           }
         }
     
    -    // initialize and create data views
    -    addReusableDataViews()
    +    // get distinct filter of acc fields for each aggregate functions
    +    val distinctAccType = s"${classOf[DistinctAccumulator[_, _]].getName}"
    +
    +    val distinctAggs: Array[Seq[DataViewSpec[_]]] = isDistinctAggs.zipWithIndex.map {
    +      case (isDistinctAgg, idx) => if (isDistinctAgg) {
    +        val fieldIndex: Int = aggFields(idx)(0)
    +        val mapViewTypeInfo = new MapViewTypeInfo(
    +          physicalInputTypes(fieldIndex), BasicTypeInfo.LONG_TYPE_INFO)
    +        Seq(
    +          MapViewSpec(
    +            "distinctAgg" + idx + "_field" + fieldIndex,
    --- End diff --
    
    I think we can remove the `"_field" + fieldIndex` postfix. Once we add support for distinct
multi-argument function, we have to use a single `MapViewSpec` with a `Row` that holds all
arguments.


---

Mime
View raw message