This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 4eee1a1f0d5973a74bd5f0c8407025cadffe1b93
Author: minghong <[email protected]>
AuthorDate: Mon Apr 8 10:31:06 2024 +0800

    [fix](nereids) make runtime filter targets in fixed order (#33191)
    
    * make runtime filter targets in fixed order
---
 .../doris/nereids/trees/plans/physical/RuntimeFilter.java      |  3 ++-
 .../load.out                                                   |  0
 regression-test/data/nereids_hint_tpcds_p0/shape/query24.out   |  2 +-
 regression-test/data/nereids_hint_tpcds_p0/shape/query64.out   |  4 ++--
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query14.out       |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query17.out       |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query2.out        |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query24.out       |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query25.out       |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query29.out       |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query4.out        |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query5.out        | 10 +++++-----
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query64.out       |  2 +-
 .../data/nereids_tpcds_shape_sf1000_p0/shape/query71.out       |  4 ++--
 .../nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query5.out     |  6 +++---
 .../nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query64.out    |  4 ++--
 .../nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query65.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query71.out    |  4 ++--
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query14.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query17.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query2.out     |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query24.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query25.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query29.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out     |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query5.out     | 10 +++++-----
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query64.out    |  4 ++--
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query65.out    |  2 +-
 .../nereids_tpcds_shape_sf100_p0/no_stats_shape/query71.out    |  4 ++--
 .../data/nereids_tpcds_shape_sf100_p0/rf_prune/query5.out      |  6 +++---
 .../data/nereids_tpcds_shape_sf100_p0/rf_prune/query64.out     |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/rf_prune/query71.out     |  4 ++--
 .../data/nereids_tpcds_shape_sf100_p0/shape/query17.out        |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query2.out         |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query24.out        |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query25.out        |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query29.out        |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query4.out         |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query5.out         | 10 +++++-----
 .../data/nereids_tpcds_shape_sf100_p0/shape/query64.out        |  2 +-
 .../data/nereids_tpcds_shape_sf100_p0/shape/query71.out        |  4 ++--
 .../nostats_rf_prune/q20-rewrite.out                           |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20.out |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q5.out  |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/rf_prune/q20-rewrite.out |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/rf_prune/q20.out         |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/shape/q20-rewrite.out    |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/shape/q20.out            |  2 +-
 regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q5.out |  2 +-
 .../shape_no_stats/q20-rewrite.out                             |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20.out   |  2 +-
 .../data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q5.out    |  2 +-
 .../load.groovy                                                |  0
 53 files changed, 76 insertions(+), 75 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java
index f9b269ec30b..9f810e73ecc 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java
@@ -170,7 +170,8 @@ public class RuntimeFilter {
         StringBuilder sb = new StringBuilder();
         sb.append("RF").append(id.asInt())
                 .append(" ").append(getSrcExpr().toSql()).append("->[").append(
-                        targetExpressions.stream().map(expr -> 
expr.toSql()).collect(Collectors.joining(",")))
+                        targetExpressions.stream().map(expr -> expr.toSql())
+                                .sorted().collect(Collectors.joining(",")))
                 .append("]");
         return sb.toString();
     }
diff --git a/regression-test/data/nereids_shape_check/load.out 
b/regression-test/data/nereids_broadcast_shuffle_join/load.out
similarity index 100%
rename from regression-test/data/nereids_shape_check/load.out
rename to regression-test/data/nereids_broadcast_shuffle_join/load.out
diff --git a/regression-test/data/nereids_hint_tpcds_p0/shape/query24.out 
b/regression-test/data/nereids_hint_tpcds_p0/shape/query24.out
index ea66a97a2e4..6c5e8faecdf 100644
--- a/regression-test/data/nereids_hint_tpcds_p0/shape/query24.out
+++ b/regression-test/data/nereids_hint_tpcds_p0/shape/query24.out
@@ -7,7 +7,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 --------PhysicalDistribute[DistributionSpecHash]
 ----------hashAgg[LOCAL]
 ------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
store_returns.sr_item_sk) and (store_sales.ss_ticket_number = 
store_returns.sr_ticket_number)) otherCondition=() build RFs:RF5 
sr_ticket_number->[ss_ticket_number];RF6 sr_item_sk->[ss_item_sk,i_item_sk]
+--------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
store_returns.sr_item_sk) and (store_sales.ss_ticket_number = 
store_returns.sr_ticket_number)) otherCondition=() build RFs:RF5 
sr_ticket_number->[ss_ticket_number];RF6 sr_item_sk->[i_item_sk,ss_item_sk]
 ----------------PhysicalProject
 ------------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF4 i_item_sk->[ss_item_sk]
 --------------------PhysicalDistribute[DistributionSpecHash]
diff --git a/regression-test/data/nereids_hint_tpcds_p0/shape/query64.out 
b/regression-test/data/nereids_hint_tpcds_p0/shape/query64.out
index e4932b2437e..35bfa59388e 100644
--- a/regression-test/data/nereids_hint_tpcds_p0/shape/query64.out
+++ b/regression-test/data/nereids_hint_tpcds_p0/shape/query64.out
@@ -7,7 +7,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 --------PhysicalDistribute[DistributionSpecHash]
 ----------hashAgg[LOCAL]
 ------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
cs_ui.cs_item_sk)) otherCondition=() build RFs:RF19 
cs_item_sk->[ss_item_sk,i_item_sk,sr_item_sk]
+--------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
cs_ui.cs_item_sk)) otherCondition=() build RFs:RF19 
cs_item_sk->[i_item_sk,sr_item_sk,ss_item_sk]
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_promo_sk = promotion.p_promo_sk)) 
otherCondition=() build RFs:RF18 p_promo_sk->[ss_promo_sk]
@@ -30,7 +30,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_addr_sk = ad1.ca_address_sk)) otherCondition=() 
build RFs:RF12 ca_address_sk->[ss_addr_sk]
 
--------------------------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------------------------PhysicalProject
-------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF10 sr_item_sk->[ss_item_sk,i_item_sk];RF11 
sr_ticket_number->[ss_ticket_number]
+------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF10 sr_item_sk->[i_item_sk,ss_item_sk];RF11 
sr_ticket_number->[ss_ticket_number]
 
--------------------------------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------------------------------PhysicalProject
 
------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_hdemo_sk = hd1.hd_demo_sk)) otherCondition=() 
build RFs:RF9 hd_demo_sk->[ss_hdemo_sk]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query14.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query14.out
index c468cad96cc..fc03a1d6d76 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query14.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query14.out
@@ -152,7 +152,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------hashAgg[LOCAL]
 ----------------------------------PhysicalProject
-------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_item_sk = item.i_item_sk)) otherCondition=() build 
RFs:RF17 i_item_sk->[ws_item_sk,ss_item_sk]
+------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_item_sk = item.i_item_sk)) otherCondition=() build 
RFs:RF17 i_item_sk->[ss_item_sk,ws_item_sk]
 --------------------------------------hashJoin[LEFT_SEMI_JOIN] 
hashCondition=((web_sales.ws_item_sk = cross_items.ss_item_sk)) 
otherCondition=()
 
----------------------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF16 d_date_sk->[ws_sold_date_sk]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query17.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query17.out
index 58a2b4198cc..0eb85c6c635 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query17.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query17.out
@@ -22,7 +22,7 @@ PhysicalResultSink
 --------------------PhysicalProject
 ----------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk 
= store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 
s_store_sk->[ss_store_sk]
---------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk 
= store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[ss_item_sk,sr_item_sk]
+--------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk 
= store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[sr_item_sk,ss_item_sk]
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
 --------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = store_returns.sr_customer_sk) and 
(store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_customer_sk->[ss_customer_sk];RF3 
sr_item_sk->[ss_item_sk];RF4 sr_ticket_number->[ss_ticket_number]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query2.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query2.out
index 63360e2ffb3..c0545b8df9b 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query2.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query2.out
@@ -6,7 +6,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecHash]
 --------hashAgg[LOCAL]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = 
wscs.sold_date_sk)) otherCondition=() build RFs:RF0 
d_date_sk->[ws_sold_date_sk,cs_sold_date_sk]
+------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = 
wscs.sold_date_sk)) otherCondition=() build RFs:RF0 
d_date_sk->[cs_sold_date_sk,ws_sold_date_sk]
 --------------PhysicalUnion
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query24.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query24.out
index ca81590aa05..334166b3d32 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query24.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query24.out
@@ -7,7 +7,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 --------PhysicalDistribute[DistributionSpecHash]
 ----------hashAgg[LOCAL]
 ------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
store_returns.sr_item_sk) and (store_sales.ss_ticket_number = 
store_returns.sr_ticket_number)) otherCondition=() build RFs:RF5 
sr_ticket_number->[ss_ticket_number];RF6 sr_item_sk->[ss_item_sk,i_item_sk]
+--------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
store_returns.sr_item_sk) and (store_sales.ss_ticket_number = 
store_returns.sr_ticket_number)) otherCondition=() build RFs:RF5 
sr_ticket_number->[ss_ticket_number];RF6 sr_item_sk->[i_item_sk,ss_item_sk]
 ----------------PhysicalProject
 ------------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF4 i_item_sk->[ss_item_sk]
 --------------------PhysicalDistribute[DistributionSpecHash]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query25.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query25.out
index 7e49210d700..af25bb29281 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query25.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query25.out
@@ -21,7 +21,7 @@ PhysicalResultSink
 ------------------PhysicalProject
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 
s_store_sk->[ss_store_sk]
-------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[ss_item_sk,sr_item_sk]
+------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[sr_item_sk,ss_item_sk]
 --------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = store_returns.sr_customer_sk) and 
(store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_customer_sk->[ss_customer_sk];RF3 
sr_item_sk->[ss_item_sk];RF4 sr_ticket_number->[ss_ticket_number]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query29.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query29.out
index bfc4d4cc6b7..56458099f4b 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query29.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query29.out
@@ -16,7 +16,7 @@ PhysicalResultSink
 ----------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------PhysicalProject
 --------------------------hashJoin[INNER_JOIN] 
hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() 
build RFs:RF6 s_store_sk->[ss_store_sk]
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() 
build RFs:RF5 i_item_sk->[ss_item_sk,sr_item_sk]
+----------------------------hashJoin[INNER_JOIN] 
hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() 
build RFs:RF5 i_item_sk->[sr_item_sk,ss_item_sk]
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
 ----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = store_returns.sr_customer_sk) and 
(store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_customer_sk->[ss_customer_sk];RF3 
sr_item_sk->[ss_item_sk];RF4 sr_ticket_number->[ss_ticket_number]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out
index 3c3a2095b93..4e38885b431 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out
@@ -3,7 +3,7 @@
 PhysicalCteAnchor ( cteId=CTEId#0 )
 --PhysicalCteProducer ( cteId=CTEId#0 )
 ----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((PULL_UP_UNIFIED_OUTPUT_ALIAS = 
customer.c_customer_sk)) otherCondition=() build RFs:RF3 
c_customer_sk->[ss_customer_sk,cs_bill_customer_sk,ws_bill_customer_sk]
+------hashJoin[INNER_JOIN] hashCondition=((PULL_UP_UNIFIED_OUTPUT_ALIAS = 
customer.c_customer_sk)) otherCondition=() build RFs:RF3 
c_customer_sk->[cs_bill_customer_sk,ss_customer_sk,ws_bill_customer_sk]
 --------PhysicalDistribute[DistributionSpecHash]
 ----------PhysicalProject
 ------------PhysicalUnion
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query5.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query5.out
index 66415d1eee8..0915f7b1e35 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query5.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query5.out
@@ -15,9 +15,9 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF1 s_store_sk->[ss_store_sk,sr_store_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF1 s_store_sk->[sr_store_sk,ss_store_sk]
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF0 d_date_sk->[ss_sold_date_sk,sr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF0 d_date_sk->[sr_returned_date_sk,ss_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
@@ -37,9 +37,9 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=() build RFs:RF3 
cp_catalog_page_sk->[cs_catalog_page_sk,cr_catalog_page_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=() build RFs:RF3 
cp_catalog_page_sk->[cr_catalog_page_sk,cs_catalog_page_sk]
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[cs_sold_date_sk,cr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[cr_returned_date_sk,cs_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
@@ -61,7 +61,7 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.wsr_web_site_sk = web_site.web_site_sk)) 
otherCondition=() build RFs:RF7 web_site_sk->[ws_web_site_sk,ws_web_site_sk]
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF6 d_date_sk->[ws_sold_date_sk,wr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF6 d_date_sk->[wr_returned_date_sk,ws_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query64.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query64.out
index 4530a869736..a80d7666bc5 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query64.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query64.out
@@ -22,7 +22,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 --------------------------------------PhysicalOlapScan[store_returns] apply 
RFs: RF14 RF15
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_item_sk = cs_ui.cs_item_sk)) otherCondition=() 
build RFs:RF13 cs_item_sk->[ss_item_sk,i_item_sk]
+----------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_item_sk = cs_ui.cs_item_sk)) otherCondition=() 
build RFs:RF13 cs_item_sk->[i_item_sk,ss_item_sk]
 
------------------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------------------PhysicalProject
 ----------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_cdemo_sk = cd1.cd_demo_sk)) otherCondition=() 
build RFs:RF12 cd_demo_sk->[ss_cdemo_sk]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query71.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query71.out
index f6daf6b9ae6..a1ec8cdb158 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query71.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query71.out
@@ -9,9 +9,9 @@ PhysicalResultSink
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------hashAgg[LOCAL]
 ----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF4 
t_time_sk->[ws_sold_time_sk,cs_sold_time_sk,ss_sold_time_sk]
+------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF4 
t_time_sk->[cs_sold_time_sk,ss_sold_time_sk,ws_sold_time_sk]
 --------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF3 
i_item_sk->[ws_item_sk,cs_item_sk,ss_item_sk]
+----------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF3 
i_item_sk->[cs_item_sk,ss_item_sk,ws_item_sk]
 ------------------------PhysicalUnion
 --------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query5.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query5.out
index 2498ab153d8..6569bcdd972 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query5.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query5.out
@@ -15,7 +15,7 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF1 d_date_sk->[ss_sold_date_sk,sr_returned_date_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF1 d_date_sk->[sr_returned_date_sk,ss_sold_date_sk]
 --------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=()
 ----------------------------------PhysicalUnion
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
@@ -36,7 +36,7 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF3 d_date_sk->[cs_sold_date_sk,cr_returned_date_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF3 d_date_sk->[cr_returned_date_sk,cs_sold_date_sk]
 --------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=()
 ----------------------------------PhysicalUnion
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
@@ -57,7 +57,7 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF7 d_date_sk->[ws_sold_date_sk,wr_returned_date_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF7 d_date_sk->[wr_returned_date_sk,ws_sold_date_sk]
 --------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.wsr_web_site_sk = web_site.web_site_sk)) 
otherCondition=()
 ----------------------------------PhysicalUnion
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query64.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query64.out
index 1edae4186bc..d60c26b2c37 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query64.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query64.out
@@ -5,7 +5,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ----PhysicalProject
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF19 
i_item_sk->[ss_item_sk,sr_item_sk,cs_item_sk,cr_item_sk]
+----------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF19 
i_item_sk->[cr_item_sk,cs_item_sk,sr_item_sk,ss_item_sk]
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((hd2.hd_income_band_sk = 
ib2.ib_income_band_sk)) otherCondition=()
@@ -33,7 +33,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 
------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=()
 
--------------------------------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------------------------------PhysicalProject
-------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = cs_ui.cs_item_sk)) otherCondition=() 
build RFs:RF4 cs_item_sk->[ss_item_sk,sr_item_sk]
+------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = cs_ui.cs_item_sk)) otherCondition=() 
build RFs:RF4 cs_item_sk->[sr_item_sk,ss_item_sk]
 
--------------------------------------------------------------------PhysicalProject
 
----------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=()
 
------------------------------------------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query65.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query65.out
index f6dace38b89..0b84e050b6e 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query65.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query65.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
 --------PhysicalProject
-----------hashJoin[INNER_JOIN] hashCondition=((sb.ss_store_sk = 
sc.ss_store_sk)) otherCondition=((cast(revenue as DOUBLE) <= cast((0.1 * ave) 
as DOUBLE))) build RFs:RF4 ss_store_sk->[ss_store_sk,s_store_sk]
+----------hashJoin[INNER_JOIN] hashCondition=((sb.ss_store_sk = 
sc.ss_store_sk)) otherCondition=((cast(revenue as DOUBLE) <= cast((0.1 * ave) 
as DOUBLE))) build RFs:RF4 ss_store_sk->[s_store_sk,ss_store_sk]
 ------------PhysicalProject
 --------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
sc.ss_store_sk)) otherCondition=()
 ----------------PhysicalDistribute[DistributionSpecHash]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query71.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query71.out
index 2d42a4f8798..a62c9aae6f8 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query71.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query71.out
@@ -9,8 +9,8 @@ PhysicalResultSink
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------hashAgg[LOCAL]
 ----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF4 
i_item_sk->[ws_item_sk,cs_item_sk,ss_item_sk]
---------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF3 
t_time_sk->[ws_sold_time_sk,cs_sold_time_sk,ss_sold_time_sk]
+------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF4 
i_item_sk->[cs_item_sk,ss_item_sk,ws_item_sk]
+--------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF3 
t_time_sk->[cs_sold_time_sk,ss_sold_time_sk,ws_sold_time_sk]
 ----------------------PhysicalUnion
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query14.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query14.out
index 21d1066c58e..1814cca24d8 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query14.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query14.out
@@ -153,7 +153,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ----------------------------------PhysicalProject
 ------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF18 d_date_sk->[ws_sold_date_sk]
 --------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_item_sk = item.i_item_sk)) otherCondition=() build 
RFs:RF17 i_item_sk->[ws_item_sk,ss_item_sk]
+----------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_item_sk = item.i_item_sk)) otherCondition=() build 
RFs:RF17 i_item_sk->[ss_item_sk,ws_item_sk]
 ------------------------------------------hashJoin[RIGHT_SEMI_JOIN] 
hashCondition=((web_sales.ws_item_sk = cross_items.ss_item_sk)) 
otherCondition=() build RFs:RF16 ws_item_sk->[ss_item_sk]
 
--------------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------------PhysicalCteConsumer ( 
cteId=CTEId#0 ) apply RFs: RF16 RF17
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query17.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query17.out
index 747b928caaa..8d26758b428 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query17.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query17.out
@@ -10,7 +10,7 @@ PhysicalResultSink
 --------------hashAgg[LOCAL]
 ----------------PhysicalProject
 ------------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
store_sales.ss_store_sk)) otherCondition=() build RFs:RF9 
s_store_sk->[ss_store_sk]
---------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF8 
i_item_sk->[ss_item_sk,sr_item_sk]
+--------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF8 
i_item_sk->[sr_item_sk,ss_item_sk]
 ----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((catalog_sales.cs_sold_date_sk = d3.d_date_sk)) 
otherCondition=() build RFs:RF7 d_date_sk->[cs_sold_date_sk]
 --------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query2.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query2.out
index ecdbe2e1939..8790d29afb6 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query2.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query2.out
@@ -6,7 +6,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecHash]
 --------hashAgg[LOCAL]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = 
wscs.sold_date_sk)) otherCondition=() build RFs:RF0 
d_date_sk->[ws_sold_date_sk,cs_sold_date_sk]
+------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = 
wscs.sold_date_sk)) otherCondition=() build RFs:RF0 
d_date_sk->[cs_sold_date_sk,ws_sold_date_sk]
 --------------PhysicalUnion
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query24.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query24.out
index 489d26eb248..49b006885bc 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query24.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query24.out
@@ -9,7 +9,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------------PhysicalProject
 --------------hashJoin[INNER_JOIN] hashCondition=((store.s_zip = 
customer_address.ca_zip) and (store_sales.ss_store_sk = store.s_store_sk)) 
otherCondition=() build RFs:RF5 s_zip->[ca_zip];RF6 s_store_sk->[ss_store_sk]
 ----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF4 
i_item_sk->[ss_item_sk,sr_item_sk]
+------------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF4 
i_item_sk->[sr_item_sk,ss_item_sk]
 --------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_current_addr_sk = customer_address.ca_address_sk)) 
otherCondition=(( not (c_birth_country = upper(ca_country)))) build RFs:RF3 
ca_address_sk->[c_current_addr_sk]
 ----------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF2 c_customer_sk->[ss_customer_sk]
 ------------------------PhysicalDistribute[DistributionSpecHash]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query25.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query25.out
index efdd5a0c664..7787fcee2c2 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query25.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query25.out
@@ -10,7 +10,7 @@ PhysicalResultSink
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
store_sales.ss_store_sk)) otherCondition=() build RFs:RF9 
s_store_sk->[ss_store_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF8 
i_item_sk->[ss_item_sk,sr_item_sk]
+--------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF8 
i_item_sk->[sr_item_sk,ss_item_sk]
 ----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((catalog_sales.cs_sold_date_sk = d3.d_date_sk)) 
otherCondition=() build RFs:RF7 d_date_sk->[cs_sold_date_sk]
 --------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query29.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query29.out
index f90b4bf6f81..cb96901a766 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query29.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query29.out
@@ -10,7 +10,7 @@ PhysicalResultSink
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
store_sales.ss_store_sk)) otherCondition=() build RFs:RF9 
s_store_sk->[ss_store_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF8 
i_item_sk->[ss_item_sk,sr_item_sk]
+--------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF8 
i_item_sk->[sr_item_sk,ss_item_sk]
 ----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) 
otherCondition=() build RFs:RF7 d_date_sk->[sr_returned_date_sk]
 --------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out
index 293507363d0..4a3163d9b6d 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out
@@ -3,7 +3,7 @@
 PhysicalCteAnchor ( cteId=CTEId#0 )
 --PhysicalCteProducer ( cteId=CTEId#0 )
 ----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((PULL_UP_UNIFIED_OUTPUT_ALIAS = 
customer.c_customer_sk)) otherCondition=() build RFs:RF3 
c_customer_sk->[ss_customer_sk,cs_bill_customer_sk,ws_bill_customer_sk]
+------hashJoin[INNER_JOIN] hashCondition=((PULL_UP_UNIFIED_OUTPUT_ALIAS = 
customer.c_customer_sk)) otherCondition=() build RFs:RF3 
c_customer_sk->[cs_bill_customer_sk,ss_customer_sk,ws_bill_customer_sk]
 --------PhysicalDistribute[DistributionSpecHash]
 ----------PhysicalProject
 ------------PhysicalUnion
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query5.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query5.out
index f033dc44981..031cd261a56 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query5.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query5.out
@@ -15,8 +15,8 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF1 d_date_sk->[ss_sold_date_sk,sr_returned_date_sk]
---------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF0 s_store_sk->[ss_store_sk,sr_store_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF1 d_date_sk->[sr_returned_date_sk,ss_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF0 s_store_sk->[sr_store_sk,ss_store_sk]
 ----------------------------------PhysicalUnion
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------------PhysicalProject
@@ -36,8 +36,8 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF3 d_date_sk->[cs_sold_date_sk,cr_returned_date_sk]
---------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=() build RFs:RF2 
cp_catalog_page_sk->[cs_catalog_page_sk,cr_catalog_page_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF3 d_date_sk->[cr_returned_date_sk,cs_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=() build RFs:RF2 
cp_catalog_page_sk->[cr_catalog_page_sk,cs_catalog_page_sk]
 ----------------------------------PhysicalUnion
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------------PhysicalProject
@@ -57,7 +57,7 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF7 d_date_sk->[ws_sold_date_sk,wr_returned_date_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF7 d_date_sk->[wr_returned_date_sk,ws_sold_date_sk]
 --------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.wsr_web_site_sk = web_site.web_site_sk)) 
otherCondition=() build RFs:RF6 web_site_sk->[ws_web_site_sk,ws_web_site_sk]
 ----------------------------------PhysicalUnion
 ------------------------------------PhysicalDistribute[DistributionSpecHash]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query64.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query64.out
index 7232618ba59..68430452c60 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query64.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query64.out
@@ -5,7 +5,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ----PhysicalProject
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF19 
i_item_sk->[ss_item_sk,sr_item_sk,cs_item_sk,cr_item_sk]
+----------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF19 
i_item_sk->[cr_item_sk,cs_item_sk,sr_item_sk,ss_item_sk]
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((hd2.hd_income_band_sk = 
ib2.ib_income_band_sk)) otherCondition=() build RFs:RF18 
ib_income_band_sk->[hd_income_band_sk]
@@ -33,7 +33,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 
------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF5 c_customer_sk->[ss_customer_sk]
 
--------------------------------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------------------------------PhysicalProject
-------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = cs_ui.cs_item_sk)) otherCondition=() 
build RFs:RF4 cs_item_sk->[ss_item_sk,sr_item_sk]
+------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = cs_ui.cs_item_sk)) otherCondition=() 
build RFs:RF4 cs_item_sk->[sr_item_sk,ss_item_sk]
 
--------------------------------------------------------------------PhysicalProject
 
----------------------------------------------------------------------hashJoin[INNER_JOIN]
 hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_item_sk->[ss_item_sk];RF3 
sr_ticket_number->[ss_ticket_number]
 
------------------------------------------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query65.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query65.out
index 308eb4b3a2e..76324a3ac4c 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query65.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query65.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
 --------PhysicalProject
-----------hashJoin[INNER_JOIN] hashCondition=((sb.ss_store_sk = 
sc.ss_store_sk)) otherCondition=((cast(revenue as DOUBLE) <= cast((0.1 * ave) 
as DOUBLE))) build RFs:RF4 ss_store_sk->[ss_store_sk,s_store_sk]
+----------hashJoin[INNER_JOIN] hashCondition=((sb.ss_store_sk = 
sc.ss_store_sk)) otherCondition=((cast(revenue as DOUBLE) <= cast((0.1 * ave) 
as DOUBLE))) build RFs:RF4 ss_store_sk->[s_store_sk,ss_store_sk]
 ------------PhysicalProject
 --------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
sc.ss_store_sk)) otherCondition=() build RFs:RF3 s_store_sk->[ss_store_sk]
 ----------------PhysicalDistribute[DistributionSpecHash]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query71.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query71.out
index 2d42a4f8798..a62c9aae6f8 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query71.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query71.out
@@ -9,8 +9,8 @@ PhysicalResultSink
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------hashAgg[LOCAL]
 ----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF4 
i_item_sk->[ws_item_sk,cs_item_sk,ss_item_sk]
---------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF3 
t_time_sk->[ws_sold_time_sk,cs_sold_time_sk,ss_sold_time_sk]
+------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk = 
item.i_item_sk)) otherCondition=() build RFs:RF4 
i_item_sk->[cs_item_sk,ss_item_sk,ws_item_sk]
+--------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF3 
t_time_sk->[cs_sold_time_sk,ss_sold_time_sk,ws_sold_time_sk]
 ----------------------PhysicalUnion
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query5.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query5.out
index 9d8fb659c2c..f6e52e8187d 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query5.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query5.out
@@ -17,7 +17,7 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=()
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF0 d_date_sk->[ss_sold_date_sk,sr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF0 d_date_sk->[sr_returned_date_sk,ss_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
@@ -39,7 +39,7 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=()
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[cs_sold_date_sk,cr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[cr_returned_date_sk,cs_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
@@ -61,7 +61,7 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.wsr_web_site_sk = web_site.web_site_sk)) 
otherCondition=()
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF6 d_date_sk->[ws_sold_date_sk,wr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF6 d_date_sk->[wr_returned_date_sk,ws_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query64.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query64.out
index c93884d378a..60bd76330b7 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query64.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query64.out
@@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------------------------------------------------PhysicalProject
 
--------------------------------------------------PhysicalOlapScan[customer_demographics]
 apply RFs: RF12
 
----------------------------------------------PhysicalDistribute[DistributionSpecHash]
-------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_item_sk = item.i_item_sk)) otherCondition=() 
build RFs:RF11 i_item_sk->[ss_item_sk,cs_item_sk,cr_item_sk]
+------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_item_sk = item.i_item_sk)) otherCondition=() 
build RFs:RF11 i_item_sk->[cr_item_sk,cs_item_sk,ss_item_sk]
 --------------------------------------------------PhysicalProject
 ----------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_store_sk = store.s_store_sk)) otherCondition=()
 ------------------------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query71.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query71.out
index 1567795d86f..0f912bcb976 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query71.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query71.out
@@ -9,10 +9,10 @@ PhysicalResultSink
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------hashAgg[LOCAL]
 ----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF4 
t_time_sk->[ws_sold_time_sk,cs_sold_time_sk,ss_sold_time_sk]
+------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF4 
t_time_sk->[cs_sold_time_sk,ss_sold_time_sk,ws_sold_time_sk]
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF3 
i_item_sk->[ws_item_sk,cs_item_sk,ss_item_sk]
+------------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF3 
i_item_sk->[cs_item_sk,ss_item_sk,ws_item_sk]
 --------------------------PhysicalUnion
 ----------------------------PhysicalDistribute[DistributionSpecExecutionAny]
 ------------------------------PhysicalProject
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 58a2b4198cc..0eb85c6c635 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
@@ -22,7 +22,7 @@ PhysicalResultSink
 --------------------PhysicalProject
 ----------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk 
= store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 
s_store_sk->[ss_store_sk]
---------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk 
= store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[ss_item_sk,sr_item_sk]
+--------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk 
= store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[sr_item_sk,ss_item_sk]
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
 --------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = store_returns.sr_customer_sk) and 
(store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_customer_sk->[ss_customer_sk];RF3 
sr_item_sk->[ss_item_sk];RF4 sr_ticket_number->[ss_ticket_number]
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 63360e2ffb3..c0545b8df9b 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
@@ -6,7 +6,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecHash]
 --------hashAgg[LOCAL]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = 
wscs.sold_date_sk)) otherCondition=() build RFs:RF0 
d_date_sk->[ws_sold_date_sk,cs_sold_date_sk]
+------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = 
wscs.sold_date_sk)) otherCondition=() build RFs:RF0 
d_date_sk->[cs_sold_date_sk,ws_sold_date_sk]
 --------------PhysicalUnion
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query24.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query24.out
index 152e46f1661..92424f97128 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query24.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query24.out
@@ -7,7 +7,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 --------PhysicalDistribute[DistributionSpecHash]
 ----------hashAgg[LOCAL]
 ------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
store_returns.sr_item_sk) and (store_sales.ss_ticket_number = 
store_returns.sr_ticket_number)) otherCondition=() build RFs:RF5 
sr_ticket_number->[ss_ticket_number];RF6 sr_item_sk->[ss_item_sk,i_item_sk]
+--------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk = 
store_returns.sr_item_sk) and (store_sales.ss_ticket_number = 
store_returns.sr_ticket_number)) otherCondition=() build RFs:RF5 
sr_ticket_number->[ss_ticket_number];RF6 sr_item_sk->[i_item_sk,ss_item_sk]
 ----------------PhysicalProject
 ------------------hashJoin[INNER_JOIN] hashCondition=((store_sales.ss_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF4 i_item_sk->[ss_item_sk]
 --------------------PhysicalDistribute[DistributionSpecHash]
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 62c752c60ce..afe0eccb284 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
@@ -21,7 +21,7 @@ PhysicalResultSink
 ------------------PhysicalProject
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = 
store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 
s_store_sk->[ss_store_sk]
-------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[ss_item_sk,sr_item_sk]
+------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = 
store_sales.ss_item_sk)) otherCondition=() build RFs:RF5 
i_item_sk->[sr_item_sk,ss_item_sk]
 --------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = store_returns.sr_customer_sk) and 
(store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_customer_sk->[ss_customer_sk];RF3 
sr_item_sk->[ss_item_sk];RF4 sr_ticket_number->[ss_ticket_number]
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 e0b47aa943d..1e044b03297 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
@@ -16,7 +16,7 @@ PhysicalResultSink
 ----------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------PhysicalProject
 --------------------------hashJoin[INNER_JOIN] 
hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() 
build RFs:RF6 s_store_sk->[ss_store_sk]
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() 
build RFs:RF5 i_item_sk->[ss_item_sk,sr_item_sk]
+----------------------------hashJoin[INNER_JOIN] 
hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() 
build RFs:RF5 i_item_sk->[sr_item_sk,ss_item_sk]
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
 ----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = store_returns.sr_customer_sk) and 
(store_sales.ss_item_sk = store_returns.sr_item_sk) and 
(store_sales.ss_ticket_number = store_returns.sr_ticket_number)) 
otherCondition=() build RFs:RF2 sr_customer_sk->[ss_customer_sk];RF3 
sr_item_sk->[ss_item_sk];RF4 sr_ticket_number->[ss_ticket_number]
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out
index 3c3a2095b93..4e38885b431 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out
@@ -3,7 +3,7 @@
 PhysicalCteAnchor ( cteId=CTEId#0 )
 --PhysicalCteProducer ( cteId=CTEId#0 )
 ----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((PULL_UP_UNIFIED_OUTPUT_ALIAS = 
customer.c_customer_sk)) otherCondition=() build RFs:RF3 
c_customer_sk->[ss_customer_sk,cs_bill_customer_sk,ws_bill_customer_sk]
+------hashJoin[INNER_JOIN] hashCondition=((PULL_UP_UNIFIED_OUTPUT_ALIAS = 
customer.c_customer_sk)) otherCondition=() build RFs:RF3 
c_customer_sk->[cs_bill_customer_sk,ss_customer_sk,ws_bill_customer_sk]
 --------PhysicalDistribute[DistributionSpecHash]
 ----------PhysicalProject
 ------------PhysicalUnion
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query5.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query5.out
index 66415d1eee8..0915f7b1e35 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query5.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query5.out
@@ -15,9 +15,9 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF1 s_store_sk->[ss_store_sk,sr_store_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF1 s_store_sk->[sr_store_sk,ss_store_sk]
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF0 d_date_sk->[ss_sold_date_sk,sr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF0 d_date_sk->[sr_returned_date_sk,ss_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
@@ -37,9 +37,9 @@ PhysicalResultSink
 ------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------hashAgg[LOCAL]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=() build RFs:RF3 
cp_catalog_page_sk->[cs_catalog_page_sk,cr_catalog_page_sk]
+------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.page_sk = catalog_page.cp_catalog_page_sk)) 
otherCondition=() build RFs:RF3 
cp_catalog_page_sk->[cr_catalog_page_sk,cs_catalog_page_sk]
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[cs_sold_date_sk,cr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[cr_returned_date_sk,cs_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
@@ -61,7 +61,7 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.wsr_web_site_sk = web_site.web_site_sk)) 
otherCondition=() build RFs:RF7 web_site_sk->[ws_web_site_sk,ws_web_site_sk]
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF6 d_date_sk->[ws_sold_date_sk,wr_returned_date_sk]
+----------------------------------hashJoin[INNER_JOIN] 
hashCondition=((salesreturns.date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF6 d_date_sk->[wr_returned_date_sk,ws_sold_date_sk]
 ------------------------------------PhysicalUnion
 --------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query64.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query64.out
index fe890559af6..cfaff549bd1 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query64.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query64.out
@@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------------------------------------------------PhysicalProject
 
--------------------------------------------------PhysicalOlapScan[customer_demographics]
 apply RFs: RF12
 
----------------------------------------------PhysicalDistribute[DistributionSpecHash]
-------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_item_sk = item.i_item_sk)) otherCondition=() 
build RFs:RF11 i_item_sk->[ss_item_sk,cs_item_sk,cr_item_sk]
+------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_item_sk = item.i_item_sk)) otherCondition=() 
build RFs:RF11 i_item_sk->[cr_item_sk,cs_item_sk,ss_item_sk]
 --------------------------------------------------PhysicalProject
 ----------------------------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_store_sk = store.s_store_sk)) otherCondition=() 
build RFs:RF10 s_store_sk->[ss_store_sk]
 ------------------------------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query71.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query71.out
index 1567795d86f..0f912bcb976 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query71.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query71.out
@@ -9,10 +9,10 @@ PhysicalResultSink
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------hashAgg[LOCAL]
 ----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF4 
t_time_sk->[ws_sold_time_sk,cs_sold_time_sk,ss_sold_time_sk]
+------------------hashJoin[INNER_JOIN] hashCondition=((tmp.time_sk = 
time_dim.t_time_sk)) otherCondition=() build RFs:RF4 
t_time_sk->[cs_sold_time_sk,ss_sold_time_sk,ws_sold_time_sk]
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF3 
i_item_sk->[ws_item_sk,cs_item_sk,ss_item_sk]
+------------------------hashJoin[INNER_JOIN] hashCondition=((tmp.sold_item_sk 
= item.i_item_sk)) otherCondition=() build RFs:RF3 
i_item_sk->[cs_item_sk,ss_item_sk,ws_item_sk]
 --------------------------PhysicalUnion
 ----------------------------PhysicalDistribute[DistributionSpecExecutionAny]
 ------------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20-rewrite.out
 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20-rewrite.out
index 69ad0ace659..efad582b128 100644
--- 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20-rewrite.out
+++ 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20-rewrite.out
@@ -7,7 +7,7 @@ PhysicalResultSink
 --------PhysicalProject
 ----------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = 
nation.n_nationkey)) otherCondition=() build RFs:RF4 n_nationkey->[s_nationkey]
 ------------PhysicalProject
---------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[ps_suppkey,l_suppkey]
+--------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[l_suppkey,ps_suppkey]
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN] hashCondition=((t2.l_partkey = 
t1.ps_partkey) and (t2.l_suppkey = t1.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > t2.l_q)) build RFs:RF1 
ps_partkey->[l_partkey];RF2 ps_suppkey->[l_suppkey]
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20.out
index a8a7aba2012..ea523b90203 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q20.out
@@ -7,7 +7,7 @@ PhysicalResultSink
 --------PhysicalProject
 ----------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = 
nation.n_nationkey)) otherCondition=() build RFs:RF4 n_nationkey->[s_nationkey]
 ------------PhysicalProject
---------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[ps_suppkey,l_suppkey]
+--------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[l_suppkey,ps_suppkey]
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_partkey = 
partsupp.ps_partkey) and (lineitem.l_suppkey = partsupp.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > (0.5 * 
sum(l_quantity)))) build RFs:RF1 ps_partkey->[l_partkey];RF2 
ps_suppkey->[l_suppkey]
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q5.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q5.out
index 24795e1beac..3fa9f171965 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q5.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q5.out
@@ -10,7 +10,7 @@ PhysicalResultSink
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((nation.n_regionkey = 
region.r_regionkey)) otherCondition=() build RFs:RF5 r_regionkey->[n_regionkey]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey 
= nation.n_nationkey)) otherCondition=() build RFs:RF4 
n_nationkey->[s_nationkey,c_nationkey]
+--------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey 
= nation.n_nationkey)) otherCondition=() build RFs:RF4 
n_nationkey->[c_nationkey,s_nationkey]
 ----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_nationkey = supplier.s_nationkey) and 
(lineitem.l_suppkey = supplier.s_suppkey)) otherCondition=() build RFs:RF2 
s_suppkey->[l_suppkey]
 --------------------------PhysicalProject
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20-rewrite.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20-rewrite.out
index 037a45f3d83..1f0e4da8f0c 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20-rewrite.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20-rewrite.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalQuickSort[LOCAL_SORT]
 --------PhysicalProject
-----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[ps_suppkey,l_suppkey]
+----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[l_suppkey,ps_suppkey]
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((t2.l_partkey = 
t1.ps_partkey) and (t2.l_suppkey = t1.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > t2.l_q)) build RFs:RF2 
ps_partkey->[l_partkey];RF3 ps_suppkey->[l_suppkey]
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20.out
index e4a0293c221..9cb57d6af1a 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q20.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalQuickSort[LOCAL_SORT]
 --------PhysicalProject
-----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[ps_suppkey,l_suppkey]
+----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[l_suppkey,ps_suppkey]
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_partkey = 
partsupp.ps_partkey) and (lineitem.l_suppkey = partsupp.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > (0.5 * 
sum(l_quantity)))) build RFs:RF2 ps_partkey->[l_partkey];RF3 
ps_suppkey->[l_suppkey]
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20-rewrite.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20-rewrite.out
index 037a45f3d83..1f0e4da8f0c 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20-rewrite.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20-rewrite.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalQuickSort[LOCAL_SORT]
 --------PhysicalProject
-----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[ps_suppkey,l_suppkey]
+----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[l_suppkey,ps_suppkey]
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((t2.l_partkey = 
t1.ps_partkey) and (t2.l_suppkey = t1.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > t2.l_q)) build RFs:RF2 
ps_partkey->[l_partkey];RF3 ps_suppkey->[l_suppkey]
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20.out
index e4a0293c221..9cb57d6af1a 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q20.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalQuickSort[LOCAL_SORT]
 --------PhysicalProject
-----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[ps_suppkey,l_suppkey]
+----------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF4 
s_suppkey->[l_suppkey,ps_suppkey]
 ------------PhysicalDistribute[DistributionSpecHash]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_partkey = 
partsupp.ps_partkey) and (lineitem.l_suppkey = partsupp.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > (0.5 * 
sum(l_quantity)))) build RFs:RF2 ps_partkey->[l_partkey];RF3 
ps_suppkey->[l_suppkey]
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q5.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q5.out
index dc1adcfafab..2f5a09a77bd 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q5.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q5.out
@@ -8,7 +8,7 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecHash]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey) and (customer.c_nationkey = supplier.s_nationkey)) 
otherCondition=() build RFs:RF4 c_nationkey->[s_nationkey,n_nationkey];RF5 
c_custkey->[o_custkey]
+----------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey) and (customer.c_nationkey = supplier.s_nationkey)) 
otherCondition=() build RFs:RF4 c_nationkey->[n_nationkey,s_nationkey];RF5 
c_custkey->[o_custkey]
 ------------------PhysicalDistribute[DistributionSpecHash]
 --------------------PhysicalProject
 ----------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_suppkey 
= supplier.s_suppkey)) otherCondition=() build RFs:RF3 s_suppkey->[l_suppkey]
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20-rewrite.out
 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20-rewrite.out
index 69ad0ace659..efad582b128 100644
--- 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20-rewrite.out
+++ 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20-rewrite.out
@@ -7,7 +7,7 @@ PhysicalResultSink
 --------PhysicalProject
 ----------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = 
nation.n_nationkey)) otherCondition=() build RFs:RF4 n_nationkey->[s_nationkey]
 ------------PhysicalProject
---------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[ps_suppkey,l_suppkey]
+--------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
t3.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[l_suppkey,ps_suppkey]
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN] hashCondition=((t2.l_partkey = 
t1.ps_partkey) and (t2.l_suppkey = t1.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > t2.l_q)) build RFs:RF1 
ps_partkey->[l_partkey];RF2 ps_suppkey->[l_suppkey]
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20.out
index a8a7aba2012..ea523b90203 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q20.out
@@ -7,7 +7,7 @@ PhysicalResultSink
 --------PhysicalProject
 ----------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = 
nation.n_nationkey)) otherCondition=() build RFs:RF4 n_nationkey->[s_nationkey]
 ------------PhysicalProject
---------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[ps_suppkey,l_suppkey]
+--------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((supplier.s_suppkey = 
partsupp.ps_suppkey)) otherCondition=() build RFs:RF3 
s_suppkey->[l_suppkey,ps_suppkey]
 ----------------PhysicalDistribute[DistributionSpecHash]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_partkey = 
partsupp.ps_partkey) and (lineitem.l_suppkey = partsupp.ps_suppkey)) 
otherCondition=((cast(ps_availqty as DECIMALV3(38, 3)) > (0.5 * 
sum(l_quantity)))) build RFs:RF1 ps_partkey->[l_partkey];RF2 
ps_suppkey->[l_suppkey]
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q5.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q5.out
index f3053b41c70..d19852bbba5 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q5.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q5.out
@@ -10,7 +10,7 @@ PhysicalResultSink
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN] hashCondition=((nation.n_regionkey = 
region.r_regionkey)) otherCondition=() build RFs:RF5 r_regionkey->[n_regionkey]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey 
= nation.n_nationkey)) otherCondition=() build RFs:RF4 
n_nationkey->[s_nationkey,c_nationkey]
+--------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey 
= nation.n_nationkey)) otherCondition=() build RFs:RF4 
n_nationkey->[c_nationkey,s_nationkey]
 ----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_nationkey = supplier.s_nationkey) and 
(lineitem.l_suppkey = supplier.s_suppkey)) otherCondition=() build RFs:RF2 
s_suppkey->[l_suppkey];RF3 s_nationkey->[c_nationkey]
 --------------------------PhysicalProject
diff --git a/regression-test/suites/nereids_shape_check/load.groovy 
b/regression-test/suites/nereids_broadcast_shuffle_join/load.groovy
similarity index 100%
rename from regression-test/suites/nereids_shape_check/load.groovy
rename to regression-test/suites/nereids_broadcast_shuffle_join/load.groovy


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to