[jira] [Assigned] (FLINK-7339) aggregationToString fails when user defined aggregation contains constants

2021-04-27 Thread Flink Jira Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/FLINK-7339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Flink Jira Bot reassigned FLINK-7339:
-

Assignee: (was: Fabian Hueske)

> 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
>Priority: Major
>  Labels: auto-unassigned
>
> 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)


[jira] [Assigned] (FLINK-7339) aggregationToString fails when user defined aggregation contains constants

2017-11-02 Thread Fabian Hueske (JIRA)

 [ 
https://issues.apache.org/jira/browse/FLINK-7339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fabian Hueske reassigned FLINK-7339:


Assignee: Fabian Hueske

> 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: DataStream API, Table API & SQL
>Affects Versions: 1.3.1
>Reporter: Stefano Bortoli
>Assignee: Fabian Hueske
>Priority: Major
>
> 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
(v6.4.14#64029)