[ 
https://issues.apache.org/jira/browse/FLINK-7339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17323625#comment-17323625
 ] 

Flink Jira Bot commented on FLINK-7339:
---------------------------------------

This issue is assigned but has not received an update in 7 days so it has been 
labeled "stale-assigned". If you are still working on the issue, please give an 
update and remove the label. If you are no longer working on the issue, please 
unassign so someone else may work on it. In 7 days the issue will be 
automatically unassigned.

> aggregationToString fails when user defined aggregation contains constants
> --------------------------------------------------------------------------
>
>                 Key: FLINK-7339
>                 URL: https://issues.apache.org/jira/browse/FLINK-7339
>             Project: Flink
>          Issue Type: Bug
>          Components: API / DataStream, Table SQL / API
>    Affects Versions: 1.3.1
>            Reporter: Stefano Bortoli
>            Assignee: Fabian Hueske
>            Priority: Major
>              Labels: stale-assigned
>
> Issue related to FLINK-7338, when the user defined aggregation contains a 
> constant it breaks the aggregation translation to string, which are mapped 1 
> to 1 to the input fields. 
> OverAggregates.scala aggregationToString function fails to find a parameter 
> of the function among the input fields, and therefore throws a 
> RuntimeException. 
> {code}
> private[flink] def aggregationToString(
>     inputType: RelDataType,
>     rowType: RelDataType,
>     namedAggregates: Seq[CalcitePair[AggregateCall, String]]): String = {
>     val inFields = inputType.getFieldNames.asScala
>     val outFields = rowType.getFieldNames.asScala
>     val aggStrings = namedAggregates.map(_.getKey).map(
>       a => s"${a.getAggregation}(${
>         if (a.getArgList.size() > 0) {
>           // ERROR HAPPENS HERE!
>           a.getArgList.asScala.map(inFields(_)).mkString(", ")
>         } else {
>           "*"
>         }
>       })")
>     (inFields ++ aggStrings).zip(outFields).map {
>       case (f, o) => if (f == o) {
>         f
>       } else {
>         s"$f AS $o"
>       }
>     }.mkString(", ")
>   }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to