[
https://issues.apache.org/jira/browse/FLINK-17651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-17651:
-----------------------------------
Labels: pull-request-available (was: )
> DecomposeGroupingSetsRule generates wrong plan when there exist distinct agg
> and simple agg with same filter
> ------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-17651
> URL: https://issues.apache.org/jira/browse/FLINK-17651
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Affects Versions: 1.10.1
> Reporter: Shuo Cheng
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.11.0
>
>
> Consider adding the following test case to
> org.apache.flink.table.planner.runtime.batch.sql.agg.AggregateITCaseBase. As
> you can see, the actual result is wrong.
>
> {code:java}
> @Test
> def testSimpleAndDistinctAggWithCommonFilter(): Unit = {
> val sql =
> """
> |SELECT
> | h,
> | COUNT(1) FILTER(WHERE d > 1),
> | COUNT(1) FILTER(WHERE d < 2),
> | COUNT(DISTINCT e) FILTER(WHERE d > 1)
> |FROM Table5
> |GROUP BY h
> |""".stripMargin
> checkResult(
> sql,
> Seq(
> row(1,4,1,4),
> row(2,7,0,7),
> row(3,3,0,3)
> )
> )
> }
> Results
> == Correct Result == == Actual Result ==
> 1,4,1,4 1,0,1,4
> 2,7,0,7 2,0,0,7
> 3,3,0,3 3,0,0,3
> {code}
> The problem lies in `DecomposeGroupingSetsRule`, which omits filter arg of
> aggregate call when doing some processing.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)