lincoln lee created FLINK-21655:
-----------------------------------
Summary: Incorrect simplification for coalesce call on a groupingsets' result
Key: FLINK-21655
URL:
https://issues.apache.org/jira/browse/FLINK-21655 Project: Flink
Issue Type: Bug
Components: Table SQL / Planner
Affects Versions: 1.12.2, 1.11.3
Reporter: lincoln lee
Fix For: 1.13.0
Currently the planner will do an incorrectly simplification for `coalesce` call on a `groupingsets`'s result, see the following query example:
{code:scala}
val sqlQuery =
"""
|SELECT
| a,
| b,
| coalesce(c, 'empty'),
| avg(d)
|FROM t1
|GROUP BY GROUPING SETS ((a, b), (a, b, c))
""".stripMargin
{code}
will generate a wrong plan which lost the `coalesce` call:
{code}
Calc(select=[a, b, c AS EXPR$2, EXPR$3])
+- HashAggregate(isMerge=[true], groupBy=[a, b, c, $e], select=[a, b, c, $e, Final_AVG(sum$0, count$1) AS EXPR$3])
+- Exchange(distribution=[hash[a, b, c, $e]])
+- LocalHashAggregate(groupBy=[a, b, c, $e], select=[a, b, c, $e, Partial_AVG(d) AS (sum$0, count$1)])
+- Expand(projects=[\{a, b, c, d, 0 AS $e}, \{a, b, null AS c, d, 1 AS $e}])
+- TableSourceScan(table=[[default_catalog, default_database, t1]], fields=[a, b, c, d])
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)