This is an automated email from the ASF dual-hosted git repository.
jakevin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 5ba1f62da8 [enhancement](Nereids) make stats unchanged (#23737)
5ba1f62da8 is described below
commit 5ba1f62da80570fa9574de3cdb3521596860c809
Author: 谢健 <[email protected]>
AuthorDate: Thu Sep 14 22:18:54 2023 +0800
[enhancement](Nereids) make stats unchanged (#23737)
make stats unchanged when explore plan
---
.../doris/nereids/stats/StatsCalculator.java | 17 +---
.../nereids_tpcds_shape_sf100_p0/shape/query13.out | 10 +-
.../nereids_tpcds_shape_sf100_p0/shape/query17.out | 55 +++++------
.../nereids_tpcds_shape_sf100_p0/shape/query2.out | 8 +-
.../nereids_tpcds_shape_sf100_p0/shape/query25.out | 56 +++++------
.../nereids_tpcds_shape_sf100_p0/shape/query29.out | 58 ++++++------
.../nereids_tpcds_shape_sf100_p0/shape/query30.out | 10 +-
.../nereids_tpcds_shape_sf100_p0/shape/query40.out | 35 +++----
.../nereids_tpcds_shape_sf100_p0/shape/query50.out | 17 ++--
.../nereids_tpcds_shape_sf100_p0/shape/query59.out | 45 +++++----
.../nereids_tpcds_shape_sf100_p0/shape/query61.out | 104 +++++++++++----------
.../nereids_tpcds_shape_sf100_p0/shape/query72.out | 30 +++---
.../nereids_tpcds_shape_sf100_p0/shape/query81.out | 10 +-
.../nereids_tpcds_shape_sf100_p0/shape/query85.out | 50 +++++-----
.../data/nereids_tpch_shape_sf1000_p0/shape/q2.out | 25 ++---
.../data/nereids_tpch_shape_sf500_p0/shape/q2.out | 25 ++---
.../data/nereids_tpch_shape_sf500_p0/shape/q21.out | 31 +++---
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy | 3 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy | 4 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy | 3 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy | 3 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy | 4 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy | 2 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy | 3 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy | 3 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy | 4 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy | 4 +-
.../nereids_tpcds_shape_sf100_p0/rf/ds_rf85.groovy | 4 +-
.../nereids_tpch_shape_sf1000_p0/rf/h_rf2.groovy | 2 +-
29 files changed, 312 insertions(+), 313 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
index 2c4f91bca8..93792e62b6 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
@@ -222,22 +222,13 @@ public class StatsCalculator extends
DefaultPlanVisitor<Statistics, Void> {
private void estimate() {
Plan plan = groupExpression.getPlan();
Statistics newStats = plan.accept(this, null);
- Statistics oldStats = groupExpression.getOwnerGroup().getStatistics();
- /*
- in an ideal cost model, every group expression in a group are
equivalent, but in fact the cost are different.
- we record the lowest expression cost as group cost to avoid missing
this group.
- */
- if (oldStats == null) {
+ // We ensure that the rowCount remains unchanged in order to make the
cost of each plan comparable.
+ if (groupExpression.getOwnerGroup().getStatistics() == null) {
groupExpression.getOwnerGroup().setStatistics(newStats);
+ groupExpression.setEstOutputRowCount(newStats.getRowCount());
} else {
- Statistics discardStats = newStats;
- if (oldStats.getRowCount() > newStats.getRowCount()) {
- groupExpression.getOwnerGroup().setStatistics(newStats);
- discardStats = oldStats;
- }
-
groupExpression.getOwnerGroup().getStatistics().updateNdv(discardStats);
+
groupExpression.getOwnerGroup().getStatistics().updateNdv(newStats);
}
- groupExpression.setEstOutputRowCount(newStats.getRowCount());
groupExpression.setStatDerived(true);
}
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query13.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query13.out
index e5ba86053f..adcacd12f7 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query13.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query13.out
@@ -5,15 +5,15 @@ PhysicalResultSink
----PhysicalDistribute
------hashAgg[LOCAL]
--------PhysicalProject
-----------hashJoin[INNER_JOIN](store.s_store_sk = store_sales.ss_store_sk)
+----------hashJoin[INNER_JOIN](store_sales.ss_sold_date_sk =
date_dim.d_date_sk)
------------PhysicalProject
---------------PhysicalOlapScan[store]
+--------------filter((date_dim.d_year = 2001))
+----------------PhysicalOlapScan[date_dim]
------------PhysicalDistribute
--------------PhysicalProject
-----------------hashJoin[INNER_JOIN](store_sales.ss_sold_date_sk =
date_dim.d_date_sk)
+----------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
------------------PhysicalProject
---------------------filter((date_dim.d_year = 2001))
-----------------------PhysicalOlapScan[date_dim]
+--------------------PhysicalOlapScan[store]
------------------PhysicalDistribute
--------------------PhysicalProject
----------------------hashJoin[INNER_JOIN](customer_demographics.cd_demo_sk =
store_sales.ss_cdemo_sk)((((((cast(cd_marital_status as VARCHAR(*)) = 'D') AND
(cast(cd_education_status as VARCHAR(*)) = 'Unknown')) AND
((store_sales.ss_sales_price >= 100.00) AND (store_sales.ss_sales_price <=
150.00))) AND (household_demographics.hd_dep_count = 3)) OR
((((cast(cd_marital_status as VARCHAR(*)) = 'S') AND (cast(cd_education_status
as VARCHAR(*)) = 'College')) AND ((store_sales.ss_sales_price [...]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query17.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query17.out
index dddca95770..36141eba60 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query17.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query17.out
@@ -14,35 +14,36 @@ PhysicalResultSink
----------------------hashJoin[INNER_JOIN](store_returns.sr_item_sk =
catalog_sales.cs_item_sk)(store_returns.sr_customer_sk =
catalog_sales.cs_bill_customer_sk)
------------------------PhysicalDistribute
--------------------------PhysicalProject
-----------------------------PhysicalOlapScan[catalog_sales]
-------------------------PhysicalDistribute
---------------------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
-----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN](item.i_item_sk =
store_sales.ss_item_sk)
---------------------------------PhysicalDistribute
+----------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
+------------------------------PhysicalProject
+--------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
----------------------------------PhysicalProject
-------------------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
---------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk
= store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
-------------------------------------------PhysicalProject
---------------------------------------------PhysicalOlapScan[store_returns]
-------------------------------------------hashJoin[INNER_JOIN](d1.d_date_sk =
store_sales.ss_sold_date_sk)
---------------------------------------------PhysicalProject
-----------------------------------------------PhysicalOlapScan[store_sales]
---------------------------------------------PhysicalDistribute
+------------------------------------PhysicalOlapScan[store_returns]
+----------------------------------PhysicalDistribute
+------------------------------------PhysicalProject
+--------------------------------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
+----------------------------------------hashJoin[INNER_JOIN](item.i_item_sk =
store_sales.ss_item_sk)
+------------------------------------------PhysicalDistribute
+--------------------------------------------hashJoin[INNER_JOIN](d1.d_date_sk
= store_sales.ss_sold_date_sk)
----------------------------------------------PhysicalProject
-------------------------------------------------filter((cast(d_quarter_name as
VARCHAR(*)) = '2001Q1'))
---------------------------------------------------PhysicalOlapScan[date_dim]
---------------------------------------PhysicalDistribute
-----------------------------------------PhysicalProject
-------------------------------------------filter(d_quarter_name IN ('2001Q1',
'2001Q2', '2001Q3'))
---------------------------------------------PhysicalOlapScan[date_dim]
---------------------------------PhysicalDistribute
-----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[item]
-----------------------------PhysicalDistribute
-------------------------------PhysicalProject
---------------------------------PhysicalOlapScan[store]
+------------------------------------------------PhysicalOlapScan[store_sales]
+----------------------------------------------PhysicalDistribute
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((cast(d_quarter_name
as VARCHAR(*)) = '2001Q1'))
+----------------------------------------------------PhysicalOlapScan[date_dim]
+------------------------------------------PhysicalDistribute
+--------------------------------------------PhysicalProject
+----------------------------------------------PhysicalOlapScan[item]
+----------------------------------------PhysicalDistribute
+------------------------------------------PhysicalProject
+--------------------------------------------PhysicalOlapScan[store]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter(d_quarter_name IN ('2001Q1',
'2001Q2', '2001Q3'))
+------------------------------------PhysicalOlapScan[date_dim]
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------PhysicalOlapScan[catalog_sales]
--------------------PhysicalDistribute
----------------------PhysicalProject
------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2',
'2001Q3'))
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query2.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query2.out
index d05df91bae..dd22494010 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query2.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query2.out
@@ -25,22 +25,22 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
------------hashJoin[INNER_JOIN](expr_cast(d_week_seq1 as BIGINT) =
expr_(d_week_seq2 - 53))
--------------PhysicalDistribute
----------------PhysicalProject
-------------------hashJoin[INNER_JOIN](date_dim.d_week_seq = d_week_seq2)
+------------------hashJoin[INNER_JOIN](date_dim.d_week_seq = d_week_seq1)
--------------------PhysicalDistribute
----------------------PhysicalProject
------------------------PhysicalCteConsumer ( cteId=CTEId#1 )
--------------------PhysicalDistribute
----------------------PhysicalProject
-------------------------filter((date_dim.d_year = 1999))
+------------------------filter((date_dim.d_year = 1998))
--------------------------PhysicalOlapScan[date_dim]
--------------PhysicalDistribute
----------------PhysicalProject
-------------------hashJoin[INNER_JOIN](date_dim.d_week_seq = d_week_seq1)
+------------------hashJoin[INNER_JOIN](date_dim.d_week_seq = d_week_seq2)
--------------------PhysicalDistribute
----------------------PhysicalProject
------------------------PhysicalCteConsumer ( cteId=CTEId#1 )
--------------------PhysicalDistribute
----------------------PhysicalProject
-------------------------filter((date_dim.d_year = 1998))
+------------------------filter((date_dim.d_year = 1999))
--------------------------PhysicalOlapScan[date_dim]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query25.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query25.out
index 35343e9a8c..1bed3183e0 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query25.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query25.out
@@ -11,36 +11,38 @@ PhysicalResultSink
----------------hashJoin[INNER_JOIN](catalog_sales.cs_sold_date_sk =
d3.d_date_sk)
------------------PhysicalProject
--------------------hashJoin[INNER_JOIN](store_returns.sr_item_sk =
catalog_sales.cs_item_sk)(store_returns.sr_customer_sk =
catalog_sales.cs_bill_customer_sk)
-----------------------PhysicalProject
-------------------------PhysicalOlapScan[catalog_sales]
----------------------PhysicalDistribute
-------------------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
---------------------------PhysicalProject
-----------------------------hashJoin[INNER_JOIN](item.i_item_sk =
store_sales.ss_item_sk)
-------------------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[catalog_sales]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
+----------------------------PhysicalProject
+------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
--------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
-------------------------------------PhysicalProject
---------------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk
= store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
-----------------------------------------PhysicalProject
-------------------------------------------PhysicalOlapScan[store_returns]
-----------------------------------------hashJoin[INNER_JOIN](d1.d_date_sk =
store_sales.ss_sold_date_sk)
-------------------------------------------PhysicalProject
---------------------------------------------PhysicalOlapScan[store_sales]
-------------------------------------------PhysicalDistribute
+----------------------------------PhysicalOlapScan[store_returns]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
+--------------------------------------hashJoin[INNER_JOIN](item.i_item_sk =
store_sales.ss_item_sk)
+----------------------------------------PhysicalDistribute
+------------------------------------------hashJoin[INNER_JOIN](d1.d_date_sk =
store_sales.ss_sold_date_sk)
--------------------------------------------PhysicalProject
-----------------------------------------------filter((d1.d_year =
2000)(d1.d_moy = 4))
-------------------------------------------------PhysicalOlapScan[date_dim]
-------------------------------------PhysicalDistribute
---------------------------------------PhysicalProject
-----------------------------------------filter((d2.d_moy <= 10)(d2.d_moy >=
4)(d2.d_year = 2000))
-------------------------------------------PhysicalOlapScan[date_dim]
-------------------------------PhysicalDistribute
---------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[item]
---------------------------PhysicalDistribute
-----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[store]
+----------------------------------------------PhysicalOlapScan[store_sales]
+--------------------------------------------PhysicalDistribute
+----------------------------------------------PhysicalProject
+------------------------------------------------filter((d1.d_year =
2000)(d1.d_moy = 4))
+--------------------------------------------------PhysicalOlapScan[date_dim]
+----------------------------------------PhysicalDistribute
+------------------------------------------PhysicalProject
+--------------------------------------------PhysicalOlapScan[item]
+--------------------------------------PhysicalDistribute
+----------------------------------------PhysicalProject
+------------------------------------------PhysicalOlapScan[store]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter((d2.d_moy <= 10)(d2.d_moy >=
4)(d2.d_year = 2000))
+----------------------------------PhysicalOlapScan[date_dim]
------------------PhysicalDistribute
--------------------PhysicalProject
----------------------filter((d3.d_year = 2000)(d3.d_moy <= 10)(d3.d_moy >= 4))
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query29.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query29.out
index d3e1d4881a..0559297b76 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query29.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query29.out
@@ -8,41 +8,43 @@ PhysicalResultSink
----------PhysicalDistribute
------------hashAgg[LOCAL]
--------------PhysicalProject
-----------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
+----------------hashJoin[INNER_JOIN](catalog_sales.cs_sold_date_sk =
d3.d_date_sk)
------------------PhysicalProject
---------------------PhysicalOlapScan[store]
-------------------PhysicalDistribute
---------------------hashJoin[INNER_JOIN](item.i_item_sk =
store_sales.ss_item_sk)
-----------------------PhysicalProject
-------------------------PhysicalOlapScan[item]
+--------------------hashJoin[INNER_JOIN](store_returns.sr_item_sk =
catalog_sales.cs_item_sk)(store_returns.sr_customer_sk =
catalog_sales.cs_bill_customer_sk)
----------------------PhysicalDistribute
------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN](catalog_sales.cs_sold_date_sk =
d3.d_date_sk)
-----------------------------PhysicalDistribute
-------------------------------PhysicalProject
---------------------------------filter(d_year IN (1999, 2000, 2001))
-----------------------------------PhysicalOlapScan[date_dim]
-----------------------------PhysicalDistribute
-------------------------------PhysicalProject
---------------------------------hashJoin[INNER_JOIN](store_returns.sr_item_sk
= catalog_sales.cs_item_sk)(store_returns.sr_customer_sk =
catalog_sales.cs_bill_customer_sk)
+--------------------------PhysicalOlapScan[catalog_sales]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
+----------------------------PhysicalProject
+------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[store_returns]
+--------------------------------PhysicalDistribute
----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[catalog_sales]
-----------------------------------PhysicalDistribute
-------------------------------------PhysicalProject
---------------------------------------hashJoin[INNER_JOIN](d1.d_date_sk =
store_sales.ss_sold_date_sk)
-----------------------------------------PhysicalProject
-------------------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk
= store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
+------------------------------------hashJoin[INNER_JOIN](store.s_store_sk =
store_sales.ss_store_sk)
+--------------------------------------hashJoin[INNER_JOIN](item.i_item_sk =
store_sales.ss_item_sk)
+----------------------------------------PhysicalDistribute
+------------------------------------------hashJoin[INNER_JOIN](d1.d_date_sk =
store_sales.ss_sold_date_sk)
--------------------------------------------PhysicalProject
----------------------------------------------PhysicalOlapScan[store_sales]
---------------------------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
+--------------------------------------------PhysicalDistribute
----------------------------------------------PhysicalProject
-------------------------------------------------PhysicalOlapScan[store_returns]
-----------------------------------------------PhysicalDistribute
-------------------------------------------------PhysicalProject
---------------------------------------------------filter((d2.d_moy <=
7)(d2.d_moy >= 4)(d2.d_year = 1999))
-----------------------------------------------------PhysicalOlapScan[date_dim]
+------------------------------------------------filter((d1.d_year =
1999)(d1.d_moy = 4))
+--------------------------------------------------PhysicalOlapScan[date_dim]
----------------------------------------PhysicalDistribute
------------------------------------------PhysicalProject
---------------------------------------------filter((d1.d_year = 1999)(d1.d_moy
= 4))
-----------------------------------------------PhysicalOlapScan[date_dim]
+--------------------------------------------PhysicalOlapScan[item]
+--------------------------------------PhysicalDistribute
+----------------------------------------PhysicalProject
+------------------------------------------PhysicalOlapScan[store]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter((d2.d_moy <= 7)(d2.d_moy >=
4)(d2.d_year = 1999))
+----------------------------------PhysicalOlapScan[date_dim]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------filter(d_year IN (1999, 2000, 2001))
+------------------------PhysicalOlapScan[date_dim]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query30.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query30.out
index 83982f3782..acc9901970 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query30.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query30.out
@@ -25,11 +25,11 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
--------PhysicalTopN
----------PhysicalProject
------------hashJoin[INNER_JOIN](ctr1.ctr_state =
ctr2.ctr_state)(cast(ctr_total_return as DOUBLE) >
cast((avg(cast(ctr_total_return as DECIMALV3(38, 4))) * 1.2) as DOUBLE))
---------------hashJoin[INNER_JOIN](ctr1.ctr_customer_sk =
customer.c_customer_sk)
-----------------PhysicalDistribute
-------------------PhysicalCteConsumer ( cteId=CTEId#0 )
-----------------PhysicalDistribute
-------------------PhysicalProject
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](ctr1.ctr_customer_sk =
customer.c_customer_sk)
+------------------PhysicalDistribute
+--------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+------------------PhysicalDistribute
--------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk =
customer.c_current_addr_sk)
----------------------PhysicalProject
------------------------PhysicalOlapScan[customer]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query40.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query40.out
index 6c1818fbfd..e0af770a07 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query40.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query40.out
@@ -8,24 +8,25 @@ PhysicalResultSink
----------PhysicalDistribute
------------hashAgg[LOCAL]
--------------PhysicalProject
-----------------hashJoin[INNER_JOIN](catalog_sales.cs_warehouse_sk =
warehouse.w_warehouse_sk)
+----------------hashJoin[RIGHT_OUTER_JOIN](catalog_sales.cs_item_sk =
catalog_returns.cr_item_sk)(catalog_sales.cs_order_number =
catalog_returns.cr_order_number)
------------------PhysicalProject
---------------------hashJoin[RIGHT_OUTER_JOIN](catalog_sales.cs_item_sk =
catalog_returns.cr_item_sk)(catalog_sales.cs_order_number =
catalog_returns.cr_order_number)
-----------------------PhysicalProject
-------------------------PhysicalOlapScan[catalog_returns]
-----------------------hashJoin[INNER_JOIN](catalog_sales.cs_sold_date_sk =
date_dim.d_date_sk)
-------------------------hashJoin[INNER_JOIN](item.i_item_sk =
catalog_sales.cs_item_sk)
---------------------------PhysicalProject
-----------------------------PhysicalOlapScan[catalog_sales]
---------------------------PhysicalDistribute
-----------------------------PhysicalProject
-------------------------------filter((item.i_current_price >=
0.99)(item.i_current_price <= 1.49))
---------------------------------PhysicalOlapScan[item]
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------filter((date_dim.d_date >=
2001-03-03)(date_dim.d_date <= 2001-05-02))
-------------------------------PhysicalOlapScan[date_dim]
+--------------------PhysicalOlapScan[catalog_returns]
------------------PhysicalDistribute
--------------------PhysicalProject
-----------------------PhysicalOlapScan[warehouse]
+----------------------hashJoin[INNER_JOIN](catalog_sales.cs_warehouse_sk =
warehouse.w_warehouse_sk)
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[warehouse]
+------------------------PhysicalDistribute
+--------------------------hashJoin[INNER_JOIN](catalog_sales.cs_sold_date_sk =
date_dim.d_date_sk)
+----------------------------hashJoin[INNER_JOIN](item.i_item_sk =
catalog_sales.cs_item_sk)
+------------------------------PhysicalProject
+--------------------------------PhysicalOlapScan[catalog_sales]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter((item.i_current_price >=
0.99)(item.i_current_price <= 1.49))
+------------------------------------PhysicalOlapScan[item]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter((date_dim.d_date >=
2001-03-03)(date_dim.d_date <= 2001-05-02))
+----------------------------------PhysicalOlapScan[date_dim]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query50.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query50.out
index 1fbd2f57a0..50219078fe 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query50.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query50.out
@@ -16,17 +16,16 @@ PhysicalResultSink
--------------------------PhysicalProject
----------------------------PhysicalOlapScan[date_dim]
------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
+--------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
store_returns.sr_item_sk)(store_sales.ss_ticket_number =
store_returns.sr_ticket_number)(store_sales.ss_customer_sk =
store_returns.sr_customer_sk)
+----------------------------PhysicalProject
+------------------------------PhysicalOlapScan[store_sales]
+----------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
------------------------------PhysicalProject
---------------------------------PhysicalOlapScan[store_sales]
-------------------------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk
= d2.d_date_sk)
+--------------------------------PhysicalOlapScan[store_returns]
+------------------------------PhysicalDistribute
--------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[store_returns]
---------------------------------PhysicalDistribute
-----------------------------------PhysicalProject
-------------------------------------filter((d2.d_year = 2001)(d2.d_moy = 8))
---------------------------------------PhysicalOlapScan[date_dim]
+----------------------------------filter((d2.d_year = 2001)(d2.d_moy = 8))
+------------------------------------PhysicalOlapScan[date_dim]
------------------PhysicalDistribute
--------------------PhysicalProject
----------------------PhysicalOlapScan[store]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query59.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query59.out
index 35bb32094a..9f57ca6994 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query59.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query59.out
@@ -18,36 +18,33 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
------PhysicalDistribute
--------PhysicalTopN
----------PhysicalProject
-------------hashJoin[INNER_JOIN](y.s_store_id1 =
x.s_store_id2)(expr_cast(d_week_seq1 as BIGINT) = expr_(d_week_seq2 - 52))
---------------PhysicalDistribute
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN](wss.ss_store_sk = store.s_store_sk)
---------------------PhysicalDistribute
-----------------------hashJoin[INNER_JOIN](d.d_week_seq = d_week_seq1)
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------filter((d.d_month_seq <= 1207)(d.d_month_seq >=
1196))
-------------------------------PhysicalOlapScan[date_dim]
---------------------PhysicalDistribute
-----------------------PhysicalProject
-------------------------PhysicalOlapScan[store]
---------------PhysicalDistribute
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN](wss.ss_store_sk = store.s_store_sk)
---------------------PhysicalDistribute
-----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN](d.d_week_seq = d_week_seq2)
+------------hashJoin[INNER_JOIN](y.s_store_id1 =
x.s_store_id2)(wss.ss_store_sk = store.s_store_sk)
+--------------hashJoin[INNER_JOIN](expr_cast(d_week_seq1 as BIGINT) =
expr_(d_week_seq2 - 52))
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN](wss.ss_store_sk = store.s_store_sk)
+----------------------PhysicalDistribute
+------------------------hashJoin[INNER_JOIN](d.d_week_seq = d_week_seq1)
--------------------------PhysicalDistribute
----------------------------PhysicalProject
------------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
--------------------------PhysicalDistribute
----------------------------PhysicalProject
-------------------------------filter((d.d_month_seq <= 1219)(d.d_month_seq >=
1208))
+------------------------------filter((d.d_month_seq <= 1207)(d.d_month_seq >=
1196))
--------------------------------PhysicalOlapScan[date_dim]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[store]
+----------------PhysicalDistribute
+------------------hashJoin[INNER_JOIN](d.d_week_seq = d_week_seq2)
--------------------PhysicalDistribute
----------------------PhysicalProject
-------------------------PhysicalOlapScan[store]
+------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------filter((d.d_month_seq <= 1219)(d.d_month_seq >= 1208))
+--------------------------PhysicalOlapScan[date_dim]
+--------------PhysicalDistribute
+----------------PhysicalProject
+------------------PhysicalOlapScan[store]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query61.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query61.out
index 9ab45c237f..9dcfea291d 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query61.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query61.out
@@ -9,24 +9,66 @@ PhysicalResultSink
------------PhysicalDistribute
--------------hashAgg[LOCAL]
----------------PhysicalProject
-------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk =
customer.c_current_addr_sk)
+------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk = item.i_item_sk)
--------------------PhysicalProject
-----------------------filter((customer_address.ca_gmt_offset = -7.00))
-------------------------PhysicalOlapScan[customer_address]
+----------------------filter((cast(i_category as VARCHAR(*)) = 'Jewelry'))
+------------------------PhysicalOlapScan[item]
--------------------PhysicalDistribute
----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN](store_sales.ss_customer_sk =
customer.c_customer_sk)
+------------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk =
customer.c_current_addr_sk)
--------------------------PhysicalProject
-----------------------------PhysicalOlapScan[customer]
+----------------------------filter((customer_address.ca_gmt_offset = -7.00))
+------------------------------PhysicalOlapScan[customer_address]
--------------------------PhysicalDistribute
-----------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
item.i_item_sk)
+----------------------------PhysicalProject
+------------------------------hashJoin[INNER_JOIN](store_sales.ss_customer_sk
= customer.c_customer_sk)
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------PhysicalOlapScan[customer]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------hashJoin[INNER_JOIN](store_sales.ss_promo_sk
= promotion.p_promo_sk)
+--------------------------------------PhysicalDistribute
+----------------------------------------hashJoin[INNER_JOIN](store_sales.ss_sold_date_sk
= date_dim.d_date_sk)
+------------------------------------------PhysicalProject
+--------------------------------------------hashJoin[INNER_JOIN](store_sales.ss_store_sk
= store.s_store_sk)
+----------------------------------------------PhysicalProject
+------------------------------------------------PhysicalOlapScan[store_sales]
+----------------------------------------------PhysicalDistribute
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((store.s_gmt_offset =
-7.00))
+----------------------------------------------------PhysicalOlapScan[store]
+------------------------------------------PhysicalDistribute
+--------------------------------------------PhysicalProject
+----------------------------------------------filter((date_dim.d_moy =
11)(date_dim.d_year = 1999))
+------------------------------------------------PhysicalOlapScan[date_dim]
+--------------------------------------PhysicalDistribute
+----------------------------------------PhysicalProject
+------------------------------------------filter((((cast(p_channel_dmail as
VARCHAR(*)) = 'Y') OR (cast(p_channel_email as VARCHAR(*)) = 'Y')) OR
(cast(p_channel_tv as VARCHAR(*)) = 'Y')))
+--------------------------------------------PhysicalOlapScan[promotion]
+----------PhysicalDistribute
+------------hashAgg[GLOBAL]
+--------------PhysicalDistribute
+----------------hashAgg[LOCAL]
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
item.i_item_sk)
+----------------------PhysicalProject
+------------------------filter((cast(i_category as VARCHAR(*)) = 'Jewelry'))
+--------------------------PhysicalOlapScan[item]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk
= customer.c_current_addr_sk)
+----------------------------PhysicalProject
+------------------------------filter((customer_address.ca_gmt_offset = -7.00))
+--------------------------------PhysicalOlapScan[customer_address]
+----------------------------PhysicalDistribute
------------------------------PhysicalProject
---------------------------------filter((cast(i_category as VARCHAR(*)) =
'Jewelry'))
-----------------------------------PhysicalOlapScan[item]
-------------------------------PhysicalDistribute
---------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN](store_sales.ss_promo_sk
= promotion.p_promo_sk)
-------------------------------------PhysicalDistribute
+--------------------------------hashJoin[INNER_JOIN](store_sales.ss_customer_sk
= customer.c_customer_sk)
+----------------------------------PhysicalDistribute
+------------------------------------PhysicalProject
+--------------------------------------PhysicalOlapScan[customer]
+----------------------------------PhysicalDistribute
+------------------------------------PhysicalProject
--------------------------------------hashJoin[INNER_JOIN](store_sales.ss_sold_date_sk
= date_dim.d_date_sk)
----------------------------------------PhysicalProject
------------------------------------------hashJoin[INNER_JOIN](store_sales.ss_store_sk
= store.s_store_sk)
@@ -40,42 +82,4 @@ PhysicalResultSink
------------------------------------------PhysicalProject
--------------------------------------------filter((date_dim.d_moy =
11)(date_dim.d_year = 1999))
----------------------------------------------PhysicalOlapScan[date_dim]
-------------------------------------PhysicalDistribute
---------------------------------------PhysicalProject
-----------------------------------------filter((((cast(p_channel_dmail as
VARCHAR(*)) = 'Y') OR (cast(p_channel_email as VARCHAR(*)) = 'Y')) OR
(cast(p_channel_tv as VARCHAR(*)) = 'Y')))
-------------------------------------------PhysicalOlapScan[promotion]
-----------PhysicalDistribute
-------------hashAgg[GLOBAL]
---------------PhysicalDistribute
-----------------hashAgg[LOCAL]
-------------------PhysicalProject
---------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk =
customer.c_current_addr_sk)
-----------------------PhysicalProject
-------------------------filter((customer_address.ca_gmt_offset = -7.00))
---------------------------PhysicalOlapScan[customer_address]
-----------------------PhysicalDistribute
-------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN](store_sales.ss_customer_sk =
customer.c_customer_sk)
-----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[customer]
-----------------------------PhysicalDistribute
-------------------------------hashJoin[INNER_JOIN](store_sales.ss_item_sk =
item.i_item_sk)
---------------------------------PhysicalProject
-----------------------------------filter((cast(i_category as VARCHAR(*)) =
'Jewelry'))
-------------------------------------PhysicalOlapScan[item]
---------------------------------PhysicalDistribute
-----------------------------------PhysicalProject
-------------------------------------hashJoin[INNER_JOIN](store_sales.ss_sold_date_sk
= date_dim.d_date_sk)
---------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN](store_sales.ss_store_sk
= store.s_store_sk)
-------------------------------------------PhysicalProject
---------------------------------------------PhysicalOlapScan[store_sales]
-------------------------------------------PhysicalDistribute
---------------------------------------------PhysicalProject
-----------------------------------------------filter((store.s_gmt_offset =
-7.00))
-------------------------------------------------PhysicalOlapScan[store]
---------------------------------------PhysicalDistribute
-----------------------------------------PhysicalProject
-------------------------------------------filter((date_dim.d_moy =
11)(date_dim.d_year = 1999))
---------------------------------------------PhysicalOlapScan[date_dim]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query72.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query72.out
index 90bf3501c5..888557d30d 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query72.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query72.out
@@ -8,24 +8,20 @@ PhysicalResultSink
----------PhysicalDistribute
------------hashAgg[LOCAL]
--------------PhysicalProject
-----------------hashJoin[RIGHT_OUTER_JOIN](catalog_returns.cr_item_sk =
catalog_sales.cs_item_sk)(catalog_returns.cr_order_number =
catalog_sales.cs_order_number)
-------------------PhysicalProject
---------------------PhysicalOlapScan[catalog_returns]
+----------------hashJoin[LEFT_OUTER_JOIN](catalog_returns.cr_item_sk =
catalog_sales.cs_item_sk)(catalog_returns.cr_order_number =
catalog_sales.cs_order_number)
------------------PhysicalDistribute
--------------------PhysicalProject
-----------------------hashJoin[LEFT_OUTER_JOIN](catalog_sales.cs_promo_sk =
promotion.p_promo_sk)
+----------------------hashJoin[INNER_JOIN](warehouse.w_warehouse_sk =
inventory.inv_warehouse_sk)
------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN](warehouse.w_warehouse_sk =
inventory.inv_warehouse_sk)
+--------------------------hashJoin[INNER_JOIN](inventory.inv_date_sk =
d2.d_date_sk)(d1.d_week_seq = d2.d_week_seq)
----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN](item.i_item_sk =
catalog_sales.cs_item_sk)
---------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[item]
+------------------------------hashJoin[INNER_JOIN](catalog_sales.cs_item_sk =
inventory.inv_item_sk)(inventory.inv_quantity_on_hand <
catalog_sales.cs_quantity)
+--------------------------------PhysicalOlapScan[inventory]
--------------------------------PhysicalDistribute
----------------------------------PhysicalProject
-------------------------------------hashJoin[INNER_JOIN](inventory.inv_date_sk
= d2.d_date_sk)(d1.d_week_seq = d2.d_week_seq)
+------------------------------------hashJoin[LEFT_OUTER_JOIN](catalog_sales.cs_promo_sk
= promotion.p_promo_sk)
--------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN](catalog_sales.cs_item_sk
= inventory.inv_item_sk)(inventory.inv_quantity_on_hand <
catalog_sales.cs_quantity)
-------------------------------------------PhysicalOlapScan[inventory]
+----------------------------------------hashJoin[INNER_JOIN](item.i_item_sk =
catalog_sales.cs_item_sk)
------------------------------------------PhysicalDistribute
--------------------------------------------PhysicalProject
----------------------------------------------hashJoin[INNER_JOIN](catalog_sales.cs_ship_date_sk
= d3.d_date_sk)(d3.d_date > cast((cast(d_date as BIGINT) + 5) as DATEV2))
@@ -51,13 +47,19 @@ PhysicalResultSink
------------------------------------------------PhysicalDistribute
--------------------------------------------------PhysicalProject
----------------------------------------------------PhysicalOlapScan[date_dim]
+------------------------------------------PhysicalDistribute
+--------------------------------------------PhysicalProject
+----------------------------------------------PhysicalOlapScan[item]
--------------------------------------PhysicalDistribute
----------------------------------------PhysicalProject
-------------------------------------------PhysicalOlapScan[date_dim]
+------------------------------------------PhysicalOlapScan[promotion]
----------------------------PhysicalDistribute
------------------------------PhysicalProject
---------------------------------PhysicalOlapScan[warehouse]
+--------------------------------PhysicalOlapScan[date_dim]
------------------------PhysicalDistribute
--------------------------PhysicalProject
-----------------------------PhysicalOlapScan[promotion]
+----------------------------PhysicalOlapScan[warehouse]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------PhysicalOlapScan[catalog_returns]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query81.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query81.out
index bfcec6ce41..ea982e8c29 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query81.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query81.out
@@ -25,11 +25,11 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
--------PhysicalTopN
----------PhysicalProject
------------hashJoin[INNER_JOIN](ctr1.ctr_state =
ctr2.ctr_state)(cast(ctr_total_return as DOUBLE) >
cast((avg(cast(ctr_total_return as DECIMALV3(38, 4))) * 1.2) as DOUBLE))
---------------hashJoin[INNER_JOIN](ctr1.ctr_customer_sk =
customer.c_customer_sk)
-----------------PhysicalDistribute
-------------------PhysicalCteConsumer ( cteId=CTEId#0 )
-----------------PhysicalDistribute
-------------------PhysicalProject
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](ctr1.ctr_customer_sk =
customer.c_customer_sk)
+------------------PhysicalDistribute
+--------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+------------------PhysicalDistribute
--------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk =
customer.c_current_addr_sk)
----------------------PhysicalProject
------------------------PhysicalOlapScan[customer]
diff --git
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query85.out
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query85.out
index 77be6e8544..f51819a367 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query85.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query85.out
@@ -9,9 +9,9 @@ PhysicalResultSink
------------PhysicalDistribute
--------------hashAgg[LOCAL]
----------------PhysicalProject
-------------------hashJoin[INNER_JOIN](cd2.cd_demo_sk =
web_returns.wr_returning_cdemo_sk)(cd1.cd_marital_status =
cd2.cd_marital_status)(cd1.cd_education_status = cd2.cd_education_status)
+------------------hashJoin[INNER_JOIN](reason.r_reason_sk =
web_returns.wr_reason_sk)
--------------------PhysicalProject
-----------------------PhysicalOlapScan[customer_demographics]
+----------------------PhysicalOlapScan[reason]
--------------------PhysicalDistribute
----------------------PhysicalProject
------------------------hashJoin[INNER_JOIN](web_sales.ws_web_page_sk =
web_page.wp_web_page_sk)
@@ -19,30 +19,32 @@ PhysicalResultSink
----------------------------PhysicalOlapScan[web_page]
--------------------------PhysicalDistribute
----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN](cd1.cd_demo_sk =
web_returns.wr_refunded_cdemo_sk)(((((cast(cd_marital_status as VARCHAR(*)) =
'M') AND (cast(cd_education_status as VARCHAR(*)) = '4 yr Degree')) AND
((web_sales.ws_sales_price >= 100.00) AND (web_sales.ws_sales_price <=
150.00))) OR (((cast(cd_marital_status as VARCHAR(*)) = 'S') AND
(cast(cd_education_status as VARCHAR(*)) = 'Secondary')) AND
((web_sales.ws_sales_price >= 50.00) AND (web_sales.ws_sales_price <= 100.00)
[...]
+------------------------------hashJoin[INNER_JOIN](cd2.cd_demo_sk =
web_returns.wr_returning_cdemo_sk)(cd1.cd_marital_status =
cd2.cd_marital_status)(cd1.cd_education_status = cd2.cd_education_status)
--------------------------------PhysicalProject
-----------------------------------filter(((((cast(cd_marital_status as
VARCHAR(*)) = 'M') AND (cast(cd_education_status as VARCHAR(*)) = '4 yr
Degree')) OR ((cast(cd_marital_status as VARCHAR(*)) = 'S') AND
(cast(cd_education_status as VARCHAR(*)) = 'Secondary'))) OR
((cast(cd_marital_status as VARCHAR(*)) = 'W') AND (cast(cd_education_status as
VARCHAR(*)) = 'Advanced Degree'))))
-------------------------------------PhysicalOlapScan[customer_demographics]
+----------------------------------PhysicalOlapScan[customer_demographics]
--------------------------------PhysicalDistribute
-----------------------------------hashJoin[INNER_JOIN](reason.r_reason_sk =
web_returns.wr_reason_sk)
-------------------------------------PhysicalProject
---------------------------------------PhysicalOlapScan[reason]
-------------------------------------PhysicalDistribute
---------------------------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk
= web_returns.wr_refunded_addr_sk)(((ca_state IN ('FL', 'TX', 'DE') AND
((web_sales.ws_net_profit >= 100.00) AND (web_sales.ws_net_profit <= 200.00)))
OR (ca_state IN ('IN', 'ND', 'ID') AND ((web_sales.ws_net_profit >= 150.00) AND
(web_sales.ws_net_profit <= 300.00)))) OR (ca_state IN ('MT', 'IL', 'OH') AND
((web_sales.ws_net_profit >= 50.00) AND (web_sales.ws_net_profit <= 250.00))))
-----------------------------------------PhysicalProject
-------------------------------------------filter(((ca_state IN ('FL', 'TX',
'DE') OR ca_state IN ('IN', 'ND', 'ID')) OR ca_state IN ('MT', 'IL',
'OH'))(customer_address.ca_country = 'United States'))
---------------------------------------------PhysicalOlapScan[customer_address]
-----------------------------------------PhysicalDistribute
-------------------------------------------PhysicalProject
---------------------------------------------hashJoin[INNER_JOIN](web_sales.ws_item_sk
= web_returns.wr_item_sk)(web_sales.ws_order_number =
web_returns.wr_order_number)
-----------------------------------------------PhysicalProject
-------------------------------------------------PhysicalOlapScan[web_returns]
-----------------------------------------------hashJoin[INNER_JOIN](web_sales.ws_sold_date_sk
= date_dim.d_date_sk)
+----------------------------------PhysicalProject
+------------------------------------hashJoin[INNER_JOIN](cd1.cd_demo_sk =
web_returns.wr_refunded_cdemo_sk)(((((cast(cd_marital_status as VARCHAR(*)) =
'M') AND (cast(cd_education_status as VARCHAR(*)) = '4 yr Degree')) AND
((web_sales.ws_sales_price >= 100.00) AND (web_sales.ws_sales_price <=
150.00))) OR (((cast(cd_marital_status as VARCHAR(*)) = 'S') AND
(cast(cd_education_status as VARCHAR(*)) = 'Secondary')) AND
((web_sales.ws_sales_price >= 50.00) AND (web_sales.ws_sales_price <= 1 [...]
+--------------------------------------PhysicalProject
+----------------------------------------filter(((((cast(cd_marital_status as
VARCHAR(*)) = 'M') AND (cast(cd_education_status as VARCHAR(*)) = '4 yr
Degree')) OR ((cast(cd_marital_status as VARCHAR(*)) = 'S') AND
(cast(cd_education_status as VARCHAR(*)) = 'Secondary'))) OR
((cast(cd_marital_status as VARCHAR(*)) = 'W') AND (cast(cd_education_status as
VARCHAR(*)) = 'Advanced Degree'))))
+------------------------------------------PhysicalOlapScan[customer_demographics]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashJoin[INNER_JOIN](customer_address.ca_address_sk
= web_returns.wr_refunded_addr_sk)(((ca_state IN ('FL', 'TX', 'DE') AND
((web_sales.ws_net_profit >= 100.00) AND (web_sales.ws_net_profit <= 200.00)))
OR (ca_state IN ('IN', 'ND', 'ID') AND ((web_sales.ws_net_profit >= 150.00) AND
(web_sales.ws_net_profit <= 300.00)))) OR (ca_state IN ('MT', 'IL', 'OH') AND
((web_sales.ws_net_profit >= 50.00) AND (web_sales.ws_net_profit <= 250.00))))
+------------------------------------------PhysicalDistribute
+--------------------------------------------PhysicalProject
+----------------------------------------------hashJoin[INNER_JOIN](web_sales.ws_item_sk
= web_returns.wr_item_sk)(web_sales.ws_order_number =
web_returns.wr_order_number)
------------------------------------------------PhysicalProject
---------------------------------------------------filter(((((web_sales.ws_net_profit
>= 100.00) AND (web_sales.ws_net_profit <= 200.00)) OR
((web_sales.ws_net_profit >= 150.00) AND (web_sales.ws_net_profit <= 300.00)))
OR ((web_sales.ws_net_profit >= 50.00) AND (web_sales.ws_net_profit <=
250.00)))((((web_sales.ws_sales_price >= 100.00) AND (web_sales.ws_sales_price
<= 150.00)) OR ((web_sales.ws_sales_price >= 50.00) AND
(web_sales.ws_sales_price <= 100.00))) OR ((web_sales.ws_sales_pric [...]
-----------------------------------------------------PhysicalOlapScan[web_sales]
-------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalOlapScan[web_returns]
+------------------------------------------------hashJoin[INNER_JOIN](web_sales.ws_sold_date_sk
= date_dim.d_date_sk)
--------------------------------------------------PhysicalProject
-----------------------------------------------------filter((date_dim.d_year =
2000))
-------------------------------------------------------PhysicalOlapScan[date_dim]
+----------------------------------------------------filter(((((web_sales.ws_net_profit
>= 100.00) AND (web_sales.ws_net_profit <= 200.00)) OR
((web_sales.ws_net_profit >= 150.00) AND (web_sales.ws_net_profit <= 300.00)))
OR ((web_sales.ws_net_profit >= 50.00) AND (web_sales.ws_net_profit <=
250.00)))((((web_sales.ws_sales_price >= 100.00) AND (web_sales.ws_sales_price
<= 150.00)) OR ((web_sales.ws_sales_price >= 50.00) AND
(web_sales.ws_sales_price <= 100.00))) OR ((web_sales.ws_sales_pr [...]
+------------------------------------------------------PhysicalOlapScan[web_sales]
+--------------------------------------------------PhysicalDistribute
+----------------------------------------------------PhysicalProject
+------------------------------------------------------filter((date_dim.d_year
= 2000))
+--------------------------------------------------------PhysicalOlapScan[date_dim]
+------------------------------------------PhysicalDistribute
+--------------------------------------------PhysicalProject
+----------------------------------------------filter(((ca_state IN ('FL',
'TX', 'DE') OR ca_state IN ('IN', 'ND', 'ID')) OR ca_state IN ('MT', 'IL',
'OH'))(customer_address.ca_country = 'United States'))
+------------------------------------------------PhysicalOlapScan[customer_address]
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q2.out
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q2.out
index 401b2d35c6..4c8fc44b7c 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q2.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q2.out
@@ -11,18 +11,6 @@ PhysicalResultSink
----------------PhysicalDistribute
------------------PhysicalProject
--------------------hashJoin[INNER_JOIN](supplier.s_suppkey =
partsupp.ps_suppkey)
-----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN](supplier.s_nationkey =
nation.n_nationkey)
---------------------------PhysicalOlapScan[supplier]
---------------------------PhysicalDistribute
-----------------------------hashJoin[INNER_JOIN](nation.n_regionkey =
region.r_regionkey)
-------------------------------PhysicalDistribute
---------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[nation]
-------------------------------PhysicalDistribute
---------------------------------PhysicalProject
-----------------------------------filter((region.r_name = 'EUROPE'))
-------------------------------------PhysicalOlapScan[region]
----------------------PhysicalDistribute
------------------------PhysicalProject
--------------------------hashJoin[INNER_JOIN](part.p_partkey =
partsupp.ps_partkey)
@@ -31,4 +19,17 @@ PhysicalResultSink
----------------------------PhysicalProject
------------------------------filter((part.p_size = 15)(p_type like '%BRASS'))
--------------------------------PhysicalOlapScan[part]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN](supplier.s_nationkey =
nation.n_nationkey)
+----------------------------PhysicalOlapScan[supplier]
+----------------------------PhysicalDistribute
+------------------------------hashJoin[INNER_JOIN](nation.n_regionkey =
region.r_regionkey)
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------PhysicalOlapScan[nation]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((region.r_name = 'EUROPE'))
+--------------------------------------PhysicalOlapScan[region]
diff --git a/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q2.out
b/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q2.out
index 401b2d35c6..4c8fc44b7c 100644
--- a/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q2.out
+++ b/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q2.out
@@ -11,18 +11,6 @@ PhysicalResultSink
----------------PhysicalDistribute
------------------PhysicalProject
--------------------hashJoin[INNER_JOIN](supplier.s_suppkey =
partsupp.ps_suppkey)
-----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN](supplier.s_nationkey =
nation.n_nationkey)
---------------------------PhysicalOlapScan[supplier]
---------------------------PhysicalDistribute
-----------------------------hashJoin[INNER_JOIN](nation.n_regionkey =
region.r_regionkey)
-------------------------------PhysicalDistribute
---------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[nation]
-------------------------------PhysicalDistribute
---------------------------------PhysicalProject
-----------------------------------filter((region.r_name = 'EUROPE'))
-------------------------------------PhysicalOlapScan[region]
----------------------PhysicalDistribute
------------------------PhysicalProject
--------------------------hashJoin[INNER_JOIN](part.p_partkey =
partsupp.ps_partkey)
@@ -31,4 +19,17 @@ PhysicalResultSink
----------------------------PhysicalProject
------------------------------filter((part.p_size = 15)(p_type like '%BRASS'))
--------------------------------PhysicalOlapScan[part]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN](supplier.s_nationkey =
nation.n_nationkey)
+----------------------------PhysicalOlapScan[supplier]
+----------------------------PhysicalDistribute
+------------------------------hashJoin[INNER_JOIN](nation.n_regionkey =
region.r_regionkey)
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------PhysicalOlapScan[nation]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((region.r_name = 'EUROPE'))
+--------------------------------------PhysicalOlapScan[region]
diff --git a/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q21.out
b/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q21.out
index 2f4348619b..52f7b7a7ee 100644
--- a/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q21.out
+++ b/regression-test/data/nereids_tpch_shape_sf500_p0/shape/q21.out
@@ -12,23 +12,24 @@ PhysicalResultSink
------------------PhysicalProject
--------------------filter((orders.o_orderstatus = 'F'))
----------------------PhysicalOlapScan[orders]
-------------------hashJoin[RIGHT_SEMI_JOIN](l2.l_orderkey = l1.l_orderkey)(
not (l_suppkey = l_suppkey))
---------------------PhysicalProject
-----------------------PhysicalOlapScan[lineitem]
---------------------hashJoin[RIGHT_ANTI_JOIN](l3.l_orderkey = l1.l_orderkey)(
not (l_suppkey = l_suppkey))
+------------------PhysicalProject
+--------------------hashJoin[RIGHT_SEMI_JOIN](l2.l_orderkey = l1.l_orderkey)(
not (l_suppkey = l_suppkey))
----------------------PhysicalProject
-------------------------filter((l3.l_receiptdate > l3.l_commitdate))
---------------------------PhysicalOlapScan[lineitem]
-----------------------hashJoin[INNER_JOIN](supplier.s_suppkey = l1.l_suppkey)
+------------------------PhysicalOlapScan[lineitem]
+----------------------hashJoin[RIGHT_ANTI_JOIN](l3.l_orderkey =
l1.l_orderkey)( not (l_suppkey = l_suppkey))
------------------------PhysicalProject
---------------------------filter((l1.l_receiptdate > l1.l_commitdate))
+--------------------------filter((l3.l_receiptdate > l3.l_commitdate))
----------------------------PhysicalOlapScan[lineitem]
-------------------------PhysicalDistribute
---------------------------hashJoin[INNER_JOIN](supplier.s_nationkey =
nation.n_nationkey)
-----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[supplier]
-----------------------------PhysicalDistribute
+------------------------hashJoin[INNER_JOIN](supplier.s_suppkey = l1.l_suppkey)
+--------------------------PhysicalProject
+----------------------------filter((l1.l_receiptdate > l1.l_commitdate))
+------------------------------PhysicalOlapScan[lineitem]
+--------------------------PhysicalDistribute
+----------------------------hashJoin[INNER_JOIN](supplier.s_nationkey =
nation.n_nationkey)
------------------------------PhysicalProject
---------------------------------filter((nation.n_name = 'SAUDI ARABIA'))
-----------------------------------PhysicalOlapScan[nation]
+--------------------------------PhysicalOlapScan[supplier]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter((nation.n_name = 'SAUDI ARABIA'))
+------------------------------------PhysicalOlapScan[nation]
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
index 16633d2379..4f302dd614 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
@@ -101,6 +101,5 @@ suite("ds_rf13") {
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.13"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF4[ss_store_sk->[s_store_sk],RF3[ss_sold_date_sk->[d_date_sk],RF2[ss_cdemo_sk->[cd_demo_sk],RF1[ss_hdemo_sk->[hd_demo_sk],RF0[ca_address_sk->[ss_addr_sk]",
getRuntimeFilters(plan))
+
assertEquals("RF4[ss_sold_date_sk->[d_date_sk],RF3[ss_store_sk->[s_store_sk],RF2[ss_cdemo_sk->[cd_demo_sk],RF1[ss_hdemo_sk->[hd_demo_sk],RF0[ca_address_sk->[ss_addr_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
index ee41541e83..8eece8aa39 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
@@ -94,6 +94,6 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.17"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]",
getRuntimeFilters(plan))
+
+
assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[cs_bill_customer_sk->[sr_customer_sk],RF8[cs_item_sk->[sr_item_sk],RF6[d_date_sk->[sr_returned_date_sk],RF3[ss_customer_sk->[sr_customer_sk],RF4[ss_item_sk->[sr_item_sk],RF5[ss_ticket_number->[sr_ticket_number],RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
index 6fb6062931..a3b43d7cb2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
@@ -97,6 +97,5 @@ suite("ds_rf25") {
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.25"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]",
getRuntimeFilters(plan))
+
assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[d_date_sk->[sr_returned_date_sk],RF3[ss_customer_sk->[sr_customer_sk],RF4[ss_item_sk->[sr_item_sk],RF5[ss_ticket_number->[sr_ticket_number],RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
index 7682b105df..61a0468666 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
@@ -96,6 +96,5 @@ suite("ds_rf29") {
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.29"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF9[ss_store_sk->[s_store_sk],RF8[ss_item_sk->[i_item_sk],RF7[cs_sold_date_sk->[d_date_sk],RF5[sr_customer_sk->[cs_bill_customer_sk],RF6[sr_item_sk->[cs_item_sk],RF4[d_date_sk->[ss_sold_date_sk],RF1[sr_customer_sk->[ss_customer_sk],RF2[sr_item_sk->[ss_item_sk],RF3[sr_ticket_number->[ss_ticket_number],RF0[d_date_sk->[sr_returned_date_sk]",
getRuntimeFilters(plan))
+
assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[d_date_sk->[sr_returned_date_sk],RF3[ss_customer_sk->[sr_customer_sk],RF4[ss_item_sk->[sr_item_sk],RF5[ss_ticket_number->[sr_ticket_number],RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
index 3d01ad13f8..6aefa4541d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
@@ -77,6 +77,6 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.40"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF4[w_warehouse_sk->[cs_warehouse_sk],RF2[cs_order_number->[cr_order_number],RF3[cs_item_sk->[cr_item_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk]",
getRuntimeFilters(plan))
+
+
assertEquals("RF3[cs_order_number->[cr_order_number],RF4[cs_item_sk->[cr_item_sk],RF2[cs_warehouse_sk->[w_warehouse_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
index 34149893a5..6cac42291a 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
@@ -177,6 +177,6 @@ suite("ds_rf5") {
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.5"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
+
assertEquals("RF2[s_store_sk->[ss_store_sk],RF3[s_store_sk->[sr_store_sk],RF0[d_date_sk->[ss_sold_date_sk],RF1[d_date_sk->[sr_returned_date_sk],RF6[cp_catalog_page_sk->[cs_catalog_page_sk],RF7[cp_catalog_page_sk->[cr_catalog_page_sk],RF4[d_date_sk->[cs_sold_date_sk],RF5[d_date_sk->[cr_returned_date_sk],RF12[web_site_sk->[ws_web_site_sk],RF13[web_site_sk->[ws_web_site_sk],RF10[d_date_sk->[ws_sold_date_sk],RF11[d_date_sk->[wr_returned_date_sk],RF8[wr_item_sk->[ws_item_sk],RF9[wr_order
[...]
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
index 9e793e6163..ef8d218104 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
@@ -118,6 +118,5 @@ where i_color in ('powder','green','cyan'))
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.56"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF3[ca_address_sk->[ss_addr_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_id->[i_item_id],RF7[cs_bill_addr_sk->[ca_address_sk],RF6[i_item_sk->[cs_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_id->[i_item_id],RF11[ws_bill_addr_sk->[ca_address_sk],RF10[i_item_sk->[ws_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_id->[i_item_id]",
getRuntimeFilters(plan))
+
assertEquals("RF3[ca_address_sk->[ss_addr_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_id->[i_item_id],RF7[cs_bill_addr_sk->[ca_address_sk],RF6[i_item_sk->[cs_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_id->[i_item_id],RF11[ws_bill_addr_sk->[ca_address_sk],RF10[i_item_sk->[ws_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_id->[i_item_id]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
index fe48dbf558..e97af073f2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
@@ -93,6 +93,5 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.59"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF0[d_date_sk->[ss_sold_date_sk],RF4[s_store_sk->[ss_store_sk],RF3[d_week_seq->[d_week_seq],RF2[s_store_sk->[ss_store_sk],RF1[d_week_seq->[d_week_seq]",
getRuntimeFilters(plan))
+
assertEquals("RF0[d_date_sk->[ss_sold_date_sk],RF4[s_store_id2->[s_store_id],RF5[s_store_sk->[ss_store_sk],RF3[s_store_sk->[ss_store_sk],RF2[d_week_seq->[d_week_seq],RF1[d_week_seq->[d_week_seq]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
index d416b6da84..da153785b4 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
@@ -93,6 +93,6 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.61"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF10[c_current_addr_sk->[ca_address_sk],RF9[ss_customer_sk->[c_customer_sk],RF8[ss_item_sk->[i_item_sk],RF7[p_promo_sk->[ss_promo_sk],RF6[d_date_sk->[ss_sold_date_sk],RF5[s_store_sk->[ss_store_sk],RF4[c_current_addr_sk->[ca_address_sk],RF3[ss_customer_sk->[c_customer_sk],RF2[ss_item_sk->[i_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[s_store_sk->[ss_store_sk]",
getRuntimeFilters(plan))
+
+
assertEquals("RF10[ss_item_sk->[i_item_sk],RF9[c_current_addr_sk->[ca_address_sk],RF8[ss_customer_sk->[c_customer_sk],RF7[p_promo_sk->[ss_promo_sk],RF6[d_date_sk->[ss_sold_date_sk],RF5[s_store_sk->[ss_store_sk],RF4[ss_item_sk->[i_item_sk],RF3[c_current_addr_sk->[ca_address_sk],RF2[ss_customer_sk->[c_customer_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[s_store_sk->[ss_store_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
index 146e4dff49..a17c335617 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
@@ -78,6 +78,6 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.72"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF9[cs_item_sk->[cr_item_sk],RF10[cs_order_number->[cr_order_number],RF8[w_warehouse_sk->[inv_warehouse_sk],RF7[cs_item_sk->[i_item_sk],RF5[d_week_seq->[d_week_seq],RF6[d_date_sk->[inv_date_sk],RF4[cs_item_sk->[inv_item_sk],RF3[d_date_sk->[cs_ship_date_sk],RF2[cd_demo_sk->[cs_bill_cdemo_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[hd_demo_sk->[cs_bill_hdemo_sk]",
getRuntimeFilters(plan))
+
+
assertEquals("RF8[w_warehouse_sk->[inv_warehouse_sk],RF6[d_week_seq->[d_week_seq],RF7[d_date_sk->[inv_date_sk],RF5[cs_item_sk->[inv_item_sk],RF4[i_item_sk->[cs_item_sk],RF3[d_date_sk->[cs_ship_date_sk],RF2[cd_demo_sk->[cs_bill_cdemo_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[hd_demo_sk->[cs_bill_hdemo_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf85.groovy
b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf85.groovy
index ead22eeae9..b716a2a89d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf85.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf85.groovy
@@ -133,6 +133,6 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.85"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
-
assertEquals("RF7[cd_marital_status->[cd_marital_status],RF8[cd_education_status->[cd_education_status],RF9[wr_returning_cdemo_sk->[cd_demo_sk],RF6[ws_web_page_sk->[wp_web_page_sk],RF5[wr_refunded_cdemo_sk->[cd_demo_sk],RF4[wr_reason_sk->[r_reason_sk],RF3[wr_refunded_addr_sk->[ca_address_sk],RF1[ws_item_sk->[wr_item_sk],RF2[ws_order_number->[wr_order_number],RF0[d_date_sk->[ws_sold_date_sk]",
getRuntimeFilters(plan))
+
+
assertEquals("RF9[wr_reason_sk->[r_reason_sk],RF8[ws_web_page_sk->[wp_web_page_sk],RF5[cd_marital_status->[cd_marital_status],RF6[cd_education_status->[cd_education_status],RF7[wr_returning_cdemo_sk->[cd_demo_sk],RF4[wr_refunded_cdemo_sk->[cd_demo_sk],RF3[ca_address_sk->[wr_refunded_addr_sk],RF1[ws_item_sk->[wr_item_sk],RF2[ws_order_number->[wr_order_number],RF0[d_date_sk->[ws_sold_date_sk]",
getRuntimeFilters(plan))
}
diff --git
a/regression-test/suites/nereids_tpch_shape_sf1000_p0/rf/h_rf2.groovy
b/regression-test/suites/nereids_tpch_shape_sf1000_p0/rf/h_rf2.groovy
index b488d04dac..6f04945edc 100644
--- a/regression-test/suites/nereids_tpch_shape_sf1000_p0/rf/h_rf2.groovy
+++ b/regression-test/suites/nereids_tpch_shape_sf1000_p0/rf/h_rf2.groovy
@@ -94,5 +94,5 @@ limit 100;
// def outFile =
"regression-test/suites/nereids_tpch_shape_sf1000_p0/ddl/rf/rf.2"
// File file = new File(outFile)
// file.write(getRuntimeFilters(plan))
-
assertEquals("RF3[ps_suppkey->[s_suppkey],RF2[n_nationkey->[s_nationkey],RF1[r_regionkey->[n_regionkey],RF0[p_partkey->[ps_partkey]",
getRuntimeFilters(plan))
+
assertEquals("RF3[s_suppkey->[ps_suppkey],RF2[p_partkey->[ps_partkey],RF1[n_nationkey->[s_nationkey],RF0[r_regionkey->[n_regionkey]",
getRuntimeFilters(plan))
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]