Shuo Cheng created FLINK-17651: ---------------------------------- Summary: 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 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)