[ https://issues.apache.org/jira/browse/FLINK-17651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jingsong Lee reassigned FLINK-17651: ------------------------------------ Assignee: Shuo Cheng > 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 > Assignee: 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)