Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5241#discussion_r160267929
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/nodes/datastream/DataStreamOverAggregate.scala
 ---
    @@ -145,6 +145,14 @@ class DataStreamOverAggregate(
           inputSchema.typeInfo,
           Some(constants))
     
    +    val constantsTypeInfo =
    +      
Some(constants).map(_.map(generator.generateExpression(_))).getOrElse(Seq()).map(_.resultType)
    +  val aggInputTypeInfo = constantsTypeInfo.++:(inputSchema.fieldTypeInfos)
    +
    +    val aggregateInputType =
    +      cluster.getTypeFactory.asInstanceOf[FlinkTypeFactory]
    --- End diff --
    
    Something like:
    
    ```
    val constantTypes = constants.map(_.getType)
    val fieldTypes = input.getRowType.getFieldList.asScala.map(_.getType)
    val aggInTypes = constantTypes ++ fieldTypes
    val aggInNames = aggInTypes.indices.map("f" + _)
    
    val aggInRowType = 
getCluster.getTypeFactory.createStructType(aggInTypes.asJava, aggInNames.asJava)
    ```



---

Reply via email to