You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Aitozi (Jira)" <ji...@apache.org> on 2023/02/28 12:54:00 UTC
[jira] [Created] (FLINK-31260) PushLocalHashAggIntoScanRule should also work with union RelNode
Aitozi created FLINK-31260:
------------------------------
Summary: PushLocalHashAggIntoScanRule should also work with union RelNode
Key: FLINK-31260
URL: https://issues.apache.org/jira/browse/FLINK-31260
Project: Flink
Issue Type: Improvement
Reporter: Aitozi
As discussed in [comments|https://github.com/apache/flink/pull/22001#discussion_r1119652784] Currently, {{PushLocalHashAggIntoScanRule}} match for the Exchange -> LocalHashAggregate -> Scan. As a result, the following pattern can not be optimized
{code:java}
+- Union(all=[true], union=[type, sum$0])
:- Union(all=[true], union=[type, sum$0])
: :- LocalHashAggregate(groupBy=[type], select=[type, Partial_SUM(price) AS sum$0])
: : +- TableSourceScan(table=[[default_catalog, default_database, table1, project=[type, price], metadata=[]]], fields=[type, price])
: +- LocalHashAggregate(groupBy=[type], select=[type, Partial_SUM(price) AS sum$0])
: +- TableSourceScan(table=[[default_catalog, default_database, table2, project=[type, price], metadata=[]]], fields=[type, price])
+- LocalHashAggregate(groupBy=[type], select=[type, Partial_SUM(price) AS sum$0])
+- TableSourceScan(table=[[default_catalog, default_database, table3, project=[type, price], metadata=[]]], fields=[type, price])
{code}
We should extend the rule to support this pattern.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)