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


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 885df89c5ea [Nereids](Nereids): fix shape change in nereids regression 
test (#35488)
885df89c5ea is described below

commit 885df89c5ea603e06549aaab592905d0b144aa76
Author: 谢健 <jianx...@gmail.com>
AuthorDate: Fri May 31 10:53:12 2024 +0800

    [Nereids](Nereids): fix shape change in nereids regression test (#35488)
    
    ## Proposed changes
    
    This pr fixes some failed regression test about checking shape
    
    <!--Describe your changes.-->
    
    ## Further comments
    
    If this is a relatively large or complex change, kick off the discussion
    at [d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why
    you chose the solution you did and what alternatives you considered,
    etc...
---
 .../data/nereids_hint_tpch_p0/shape/q10.out        | 41 +++++------
 .../data/nereids_hint_tpch_p0/shape/q3.out         | 33 ++++-----
 .../push_down_count_through_join_one_side.out      | 11 ++-
 .../eliminate_outer_join/eliminate_outer_join.out  | 68 +++++++++--------
 .../push_down_alias_through_join.out               | 85 ++++++++++------------
 .../push_down_top_n_distinct_through_join.out      | 15 ++--
 .../data/nereids_ssb_shape_sf100_p0/shape/q2.1.out | 30 ++++----
 .../data/nereids_ssb_shape_sf100_p0/shape/q2.3.out | 30 ++++----
 .../bs_downgrade_shape/query95.out                 |  6 +-
 .../shape/query38.out                              | 12 +--
 .../noStatsRfPrune/query38.out                     | 12 +--
 .../no_stats_shape/query38.out                     | 12 +--
 .../rf_prune/query38.out                           | 12 +--
 .../nereids_tpcds_shape_sf100_p0/shape/query38.out | 12 +--
 .../nostats_rf_prune/q10.out                       | 45 ++++++------
 .../nostats_rf_prune/q3.out                        | 33 ++++-----
 .../nereids_tpch_shape_sf1000_p0/rf_prune/q10.out  | 18 ++---
 .../nereids_tpch_shape_sf1000_p0/rf_prune/q3.out   | 33 ++++-----
 .../nereids_tpch_shape_sf1000_p0/shape/q10.out     | 18 ++---
 .../data/nereids_tpch_shape_sf1000_p0/shape/q3.out | 33 ++++-----
 .../shape_no_stats/q10.out                         | 45 ++++++------
 .../shape_no_stats/q3.out                          | 33 ++++-----
 .../suites/nereids_p0/hint/test_distribute.groovy  |  3 +-
 .../push_down_count_through_join_one_side.groovy   |  1 +
 .../eliminate_gby_key/eliminate_gby_key.groovy     | 12 +--
 .../eliminate_outer_join.groovy                    |  2 +-
 .../push_down_alias_through_join.groovy            |  1 +
 .../push_down_top_n_distinct_through_join.groovy   |  1 +
 .../performance_p0/redundant_conjuncts.groovy      |  1 +
 .../suites/query_p0/join/test_join.groovy          |  2 +-
 30 files changed, 322 insertions(+), 338 deletions(-)

diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q10.out 
b/regression-test/data/nereids_hint_tpch_p0/shape/q10.out
index b46fa9784e5..8368239e434 100644
--- a/regression-test/data/nereids_hint_tpch_p0/shape/q10.out
+++ b/regression-test/data/nereids_hint_tpch_p0/shape/q10.out
@@ -4,29 +4,28 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=()
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=()
+------------------PhysicalProject
+--------------------filter((lineitem.l_returnflag = 'R'))
+----------------------PhysicalOlapScan[lineitem]
+------------------PhysicalDistribute[DistributionSpecHash]
 --------------------PhysicalProject
-----------------------filter((lineitem.l_returnflag = 'R'))
-------------------------PhysicalOlapScan[lineitem]
---------------------PhysicalDistribute[DistributionSpecHash]
-----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_nationkey = nation.n_nationkey)) otherCondition=()
---------------------------PhysicalProject
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=()
-------------------------------PhysicalProject
---------------------------------PhysicalOlapScan[customer]
-------------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------------PhysicalProject
-----------------------------------filter((orders.o_orderdate < '1994-01-01') 
and (orders.o_orderdate >= '1993-10-01'))
-------------------------------------PhysicalOlapScan[orders]
---------------------------PhysicalDistribute[DistributionSpecReplicated]
+----------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_nationkey = nation.n_nationkey)) otherCondition=()
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=()
 ----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[nation]
+------------------------------PhysicalOlapScan[customer]
+----------------------------PhysicalDistribute[DistributionSpecHash]
+------------------------------PhysicalProject
+--------------------------------filter((orders.o_orderdate < '1994-01-01') and 
(orders.o_orderdate >= '1993-10-01'))
+----------------------------------PhysicalOlapScan[orders]
+------------------------PhysicalDistribute[DistributionSpecReplicated]
+--------------------------PhysicalProject
+----------------------------PhysicalOlapScan[nation]
 
 Hint log:
 Used:   leading(lineitem shuffle { { customer shuffle orders } broadcast 
nation } )
diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q3.out 
b/regression-test/data/nereids_hint_tpch_p0/shape/q3.out
index a1c0695e752..b67d23ddd8d 100644
--- a/regression-test/data/nereids_hint_tpch_p0/shape/q3.out
+++ b/regression-test/data/nereids_hint_tpch_p0/shape/q3.out
@@ -4,24 +4,23 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[LOCAL]
-------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=()
+--------hashAgg[LOCAL]
+----------PhysicalProject
+------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=()
+--------------PhysicalProject
+----------------filter((lineitem.l_shipdate > '1995-03-15'))
+------------------PhysicalOlapScan[lineitem]
+--------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject
-------------------filter((lineitem.l_shipdate > '1995-03-15'))
---------------------PhysicalOlapScan[lineitem]
-----------------PhysicalDistribute[DistributionSpecHash]
-------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=()
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((orders.o_orderdate < '1995-03-15'))
-----------------------------PhysicalOlapScan[orders]
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((customer.c_mktsegment = 'BUILDING'))
-----------------------------PhysicalOlapScan[customer]
+------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=()
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((orders.o_orderdate < '1995-03-15'))
+--------------------------PhysicalOlapScan[orders]
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((customer.c_mktsegment = 'BUILDING'))
+--------------------------PhysicalOlapScan[customer]
 
 Hint log:
 Used:  leading(lineitem { orders shuffle customer } )
diff --git 
a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out
 
b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out
index 0de2a12166a..6ad731d5731 100644
--- 
a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out
+++ 
b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out
@@ -338,13 +338,12 @@ PhysicalResultSink
 
 -- !groupby_pushdown_multi_table_join --
 PhysicalResultSink
---hashAgg[GLOBAL]
-----hashAgg[LOCAL]
-------hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) 
otherCondition=()
---------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
-----------PhysicalOlapScan[count_t_one_side]
-----------PhysicalOlapScan[count_t_one_side]
+--hashAgg[LOCAL]
+----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=()
+------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
 --------PhysicalOlapScan[count_t_one_side]
+--------PhysicalOlapScan[count_t_one_side]
+------PhysicalOlapScan[count_t_one_side]
 
 -- !groupby_pushdown_with_order_by --
 PhysicalResultSink
diff --git 
a/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out
 
b/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out
index f35ff586ce4..8c2e3ad8372 100644
--- 
a/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out
+++ 
b/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out
@@ -10,11 +10,10 @@ PhysicalResultSink
 -- !right_outer --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+------PhysicalOlapScan[t]
+------filter((t1.score > 10))
 --------PhysicalOlapScan[t]
---------filter((t1.score > 10))
-----------PhysicalOlapScan[t]
 
 -- !full_outer_join --
 PhysicalResultSink
@@ -73,24 +72,22 @@ PhysicalResultSink
 -- !multiple_right_outer_1 --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=()
+----hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=()
+------PhysicalOlapScan[t]
+------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
 --------PhysicalOlapScan[t]
---------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+--------filter((t1.score > 10))
 ----------PhysicalOlapScan[t]
-----------filter((t1.score > 10))
-------------PhysicalOlapScan[t]
 
 -- !multiple_right_outer_2 --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=()
+----hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=()
+------PhysicalOlapScan[t]
+------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
 --------PhysicalOlapScan[t]
---------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+--------filter((t2.score > 10))
 ----------PhysicalOlapScan[t]
-----------filter((t2.score > 10))
-------------PhysicalOlapScan[t]
 
 -- !multiple_full_outer_1 --
 PhysicalResultSink
@@ -106,11 +103,12 @@ PhysicalResultSink
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
 ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=()
-------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) 
otherCondition=()
---------PhysicalOlapScan[t]
---------filter((t2.score > 10))
+------PhysicalDistribute[DistributionSpecHash]
+--------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) 
otherCondition=()
 ----------PhysicalOlapScan[t]
-------PhysicalDistribute[DistributionSpecReplicated]
+----------filter((t2.score > 10))
+------------PhysicalOlapScan[t]
+------PhysicalDistribute[DistributionSpecHash]
 --------PhysicalOlapScan[t]
 
 -- !left_outer_join_non_null_assertion --
@@ -124,11 +122,10 @@ PhysicalResultSink
 -- !right_outer_join_non_null_assertion --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) 
otherCondition=()
+----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) 
otherCondition=()
+------PhysicalOlapScan[t]
+------filter(( not id IS NULL) and (t2.score > 5))
 --------PhysicalOlapScan[t]
---------filter(( not id IS NULL) and (t2.score > 5))
-----------PhysicalOlapScan[t]
 
 -- !full_outer_join_compound_conditions --
 PhysicalResultSink
@@ -154,10 +151,11 @@ PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
 ----PhysicalProject
 ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((expr_cast(score as BIGINT) = 
expr_(score + 10))) otherCondition=()
---------PhysicalProject
-----------filter(( not id IS NULL))
-------------PhysicalOlapScan[t]
---------PhysicalDistribute[DistributionSpecReplicated]
+--------PhysicalDistribute[DistributionSpecHash]
+----------PhysicalProject
+------------filter(( not id IS NULL))
+--------------PhysicalOlapScan[t]
+--------PhysicalDistribute[DistributionSpecHash]
 ----------PhysicalProject
 ------------PhysicalOlapScan[t]
 
@@ -195,12 +193,11 @@ PhysicalResultSink
 -- !right_outer --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
---------filter(( not name IS NULL))
-----------PhysicalOlapScan[t]
---------filter((t1.score > 10))
-----------PhysicalOlapScan[t]
+----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+------filter(( not name IS NULL))
+--------PhysicalOlapScan[t]
+------filter((t1.score > 10))
+--------PhysicalOlapScan[t]
 
 -- !full_outer --
 PhysicalResultSink
@@ -256,9 +253,10 @@ PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
 ----PhysicalProject
 ------hashJoin[INNER_JOIN] hashCondition=((expr_cast(score as BIGINT) = 
expr_(score * 2))) otherCondition=((t1.id < t2.id))
---------PhysicalProject
-----------PhysicalOlapScan[t]
---------PhysicalDistribute[DistributionSpecReplicated]
+--------PhysicalDistribute[DistributionSpecHash]
+----------PhysicalProject
+------------PhysicalOlapScan[t]
+--------PhysicalDistribute[DistributionSpecHash]
 ----------PhysicalProject
 ------------PhysicalOlapScan[t]
 
diff --git 
a/regression-test/data/nereids_rules_p0/filter_push_down/push_down_alias_through_join.out
 
b/regression-test/data/nereids_rules_p0/filter_push_down/push_down_alias_through_join.out
index e99770d7c76..4e56682f946 100644
--- 
a/regression-test/data/nereids_rules_p0/filter_push_down/push_down_alias_through_join.out
+++ 
b/regression-test/data/nereids_rules_p0/filter_push_down/push_down_alias_through_join.out
@@ -2,57 +2,52 @@
 -- !pushdown_inner_join --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------NestedLoopJoin[INNER_JOIN](id1 > id2)
+----NestedLoopJoin[INNER_JOIN](id1 > id2)
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+------PhysicalDistribute[DistributionSpecReplicated]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
---------PhysicalDistribute[DistributionSpecReplicated]
-----------PhysicalProject
-------------PhysicalOlapScan[t2]
+----------PhysicalOlapScan[t2]
 
 -- !pushdown_left_outer_join --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------NestedLoopJoin[LEFT_OUTER_JOIN](id1 > id2)
+----NestedLoopJoin[LEFT_OUTER_JOIN](id1 > id2)
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+------PhysicalDistribute[DistributionSpecReplicated]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
---------PhysicalDistribute[DistributionSpecReplicated]
-----------PhysicalProject
-------------PhysicalOlapScan[t2]
+----------PhysicalOlapScan[t2]
 
 -- !pushdown_right_outer_join --
 PhysicalResultSink
---PhysicalProject
-----NestedLoopJoin[RIGHT_OUTER_JOIN](id1 > id2)
-------PhysicalDistribute[DistributionSpecGather]
---------PhysicalProject
-----------PhysicalOlapScan[t1]
-------PhysicalDistribute[DistributionSpecGather]
---------PhysicalProject
-----------PhysicalOlapScan[t2]
+--NestedLoopJoin[RIGHT_OUTER_JOIN](id1 > id2)
+----PhysicalDistribute[DistributionSpecGather]
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+----PhysicalDistribute[DistributionSpecGather]
+------PhysicalProject
+--------PhysicalOlapScan[t2]
 
 -- !pushdown_full_outer_join --
 PhysicalResultSink
---PhysicalProject
-----NestedLoopJoin[FULL_OUTER_JOIN](id1 > id2)
-------PhysicalDistribute[DistributionSpecGather]
---------PhysicalProject
-----------PhysicalOlapScan[t1]
-------PhysicalDistribute[DistributionSpecGather]
---------PhysicalProject
-----------PhysicalOlapScan[t2]
+--NestedLoopJoin[FULL_OUTER_JOIN](id1 > id2)
+----PhysicalDistribute[DistributionSpecGather]
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+----PhysicalDistribute[DistributionSpecGather]
+------PhysicalProject
+--------PhysicalOlapScan[t2]
 
 -- !pushdown_left_semi_join --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------NestedLoopJoin[LEFT_SEMI_JOIN](id1 > t2.id)
+----NestedLoopJoin[LEFT_SEMI_JOIN](id1 > t2.id)
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+------PhysicalDistribute[DistributionSpecReplicated]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
---------PhysicalDistribute[DistributionSpecReplicated]
-----------PhysicalProject
-------------PhysicalOlapScan[t2]
+----------PhysicalOlapScan[t2]
 
 -- !pushdown_right_semi_join --
 PhysicalResultSink
@@ -77,24 +72,22 @@ PhysicalResultSink
 -- !pushdown_left_anti_join --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------NestedLoopJoin[LEFT_ANTI_JOIN](id1 > t2.id)
+----NestedLoopJoin[LEFT_ANTI_JOIN](id1 > t2.id)
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+------PhysicalDistribute[DistributionSpecReplicated]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
---------PhysicalDistribute[DistributionSpecReplicated]
-----------PhysicalProject
-------------PhysicalOlapScan[t2]
+----------PhysicalOlapScan[t2]
 
 -- !pushdown_cross_join --
 PhysicalResultSink
 --PhysicalDistribute[DistributionSpecGather]
-----PhysicalProject
-------NestedLoopJoin[INNER_JOIN](id1 > t2.id)
+----NestedLoopJoin[INNER_JOIN](id1 > t2.id)
+------PhysicalProject
+--------PhysicalOlapScan[t1]
+------PhysicalDistribute[DistributionSpecReplicated]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
---------PhysicalDistribute[DistributionSpecReplicated]
-----------PhysicalProject
-------------PhysicalOlapScan[t2]
+----------PhysicalOlapScan[t2]
 
 -- !pushdown_multiple_joins --
 PhysicalResultSink
diff --git 
a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out
 
b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out
index 5c3ec397a99..c71ad908a90 100644
--- 
a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out
+++ 
b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out
@@ -3,14 +3,13 @@
 PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalTopN[LOCAL_SORT]
-------hashAgg[GLOBAL]
---------hashAgg[LOCAL]
-----------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) 
otherCondition=()
-------------PhysicalTopN[MERGE_SORT]
---------------PhysicalTopN[LOCAL_SORT]
-----------------hashAgg[LOCAL]
-------------------PhysicalOlapScan[table_join]
-------------PhysicalOlapScan[table_join]
+------hashAgg[LOCAL]
+--------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) 
otherCondition=()
+----------PhysicalTopN[MERGE_SORT]
+------------PhysicalTopN[LOCAL_SORT]
+--------------hashAgg[LOCAL]
+----------------PhysicalOlapScan[table_join]
+----------PhysicalOlapScan[table_join]
 
 -- !push_down_topn_through_join_data --
 0
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out
index 744d3efb0b0..f16eee1b2ca 100644
--- a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out
@@ -4,14 +4,14 @@ PhysicalResultSink
 --PhysicalQuickSort[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalQuickSort[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((lineorder.lo_orderdate 
= dates.d_datekey)) otherCondition=() build RFs:RF2 d_datekey->[lo_orderdate]
---------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN] 
hashCondition=((lineorder.lo_suppkey = supplier.s_suppkey)) otherCondition=() 
build RFs:RF1 s_suppkey->[lo_suppkey]
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((lineorder.lo_orderdate = 
dates.d_datekey)) otherCondition=() build RFs:RF2 d_datekey->[lo_orderdate]
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN] hashCondition=((lineorder.lo_suppkey 
= supplier.s_suppkey)) otherCondition=() build RFs:RF1 s_suppkey->[lo_suppkey]
+----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((lineorder.lo_partkey = part.p_partkey)) otherCondition=() build 
RFs:RF0 p_partkey->[lo_partkey]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[lineorder] apply RFs: RF0 RF1 RF2
@@ -19,11 +19,11 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------filter((part.p_category = 'MFGR#12'))
 --------------------------------PhysicalOlapScan[part]
-------------------------PhysicalDistribute[DistributionSpecReplicated]
---------------------------PhysicalProject
-----------------------------filter((supplier.s_region = 'AMERICA'))
-------------------------------PhysicalOlapScan[supplier]
---------------------PhysicalDistribute[DistributionSpecReplicated]
-----------------------PhysicalProject
-------------------------PhysicalOlapScan[dates]
+----------------------PhysicalDistribute[DistributionSpecReplicated]
+------------------------PhysicalProject
+--------------------------filter((supplier.s_region = 'AMERICA'))
+----------------------------PhysicalOlapScan[supplier]
+------------------PhysicalDistribute[DistributionSpecReplicated]
+--------------------PhysicalProject
+----------------------PhysicalOlapScan[dates]
 
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out
index 9bf90ed84c2..26aea370224 100644
--- a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out
@@ -4,14 +4,14 @@ PhysicalResultSink
 --PhysicalQuickSort[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalQuickSort[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((lineorder.lo_orderdate 
= dates.d_datekey)) otherCondition=() build RFs:RF2 d_datekey->[lo_orderdate]
---------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN] 
hashCondition=((lineorder.lo_suppkey = supplier.s_suppkey)) otherCondition=() 
build RFs:RF1 s_suppkey->[lo_suppkey]
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((lineorder.lo_orderdate = 
dates.d_datekey)) otherCondition=() build RFs:RF2 d_datekey->[lo_orderdate]
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN] hashCondition=((lineorder.lo_suppkey 
= supplier.s_suppkey)) otherCondition=() build RFs:RF1 s_suppkey->[lo_suppkey]
+----------------------PhysicalProject
 ------------------------hashJoin[INNER_JOIN] 
hashCondition=((lineorder.lo_partkey = part.p_partkey)) otherCondition=() build 
RFs:RF0 p_partkey->[lo_partkey]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[lineorder] apply RFs: RF0 RF1 RF2
@@ -19,11 +19,11 @@ PhysicalResultSink
 ----------------------------PhysicalProject
 ------------------------------filter((part.p_brand = 'MFGR#2239'))
 --------------------------------PhysicalOlapScan[part]
-------------------------PhysicalDistribute[DistributionSpecReplicated]
---------------------------PhysicalProject
-----------------------------filter((supplier.s_region = 'EUROPE'))
-------------------------------PhysicalOlapScan[supplier]
---------------------PhysicalDistribute[DistributionSpecReplicated]
-----------------------PhysicalProject
-------------------------PhysicalOlapScan[dates]
+----------------------PhysicalDistribute[DistributionSpecReplicated]
+------------------------PhysicalProject
+--------------------------filter((supplier.s_region = 'EUROPE'))
+----------------------------PhysicalOlapScan[supplier]
+------------------PhysicalDistribute[DistributionSpecReplicated]
+--------------------PhysicalProject
+----------------------PhysicalOlapScan[dates]
 
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query95.out
 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query95.out
index 476a65baed6..1fd11f4156c 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query95.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query95.out
@@ -24,16 +24,14 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------------------------PhysicalProject
 --------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_returns.wr_order_number = ws_wh.ws_order_number)) 
otherCondition=() build RFs:RF5 wr_order_number->[ws_order_number]
 ----------------------------PhysicalDistribute[DistributionSpecHash]
-------------------------------PhysicalProject
---------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply 
RFs: RF5 RF6
+------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: 
RF5 RF6
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
 --------------------------------PhysicalOlapScan[web_returns] apply RFs: RF6
 ----------------------PhysicalProject
 ------------------------hashJoin[RIGHT_SEMI_JOIN] 
hashCondition=((ws1.ws_order_number = ws_wh.ws_order_number)) otherCondition=() 
build RFs:RF7 ws_order_number->[ws_order_number,ws_order_number]
 --------------------------PhysicalDistribute[DistributionSpecHash]
-----------------------------PhysicalProject
-------------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+----------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
 --------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------hashJoin[INNER_JOIN] 
hashCondition=((ws1.ws_web_site_sk = web_site.web_site_sk)) otherCondition=() 
build RFs:RF3 web_site_sk->[ws_web_site_sk]
 ------------------------------hashJoin[INNER_JOIN] 
hashCondition=((ws1.ws_ship_date_sk = date_dim.d_date_sk)) otherCondition=() 
build RFs:RF2 d_date_sk->[ws_ship_date_sk]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query38.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query38.out
index a15b4f77245..793f75cac18 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query38.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query38.out
@@ -13,12 +13,12 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF1 c_customer_sk->[ss_customer_sk]
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF1 c_customer_sk->[ws_bill_customer_sk]
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
---------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF0 d_date_sk->[ss_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk]
 ----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF0 RF1
+------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 
RF1
 
----------------------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------------------PhysicalProject
 --------------------------------------filter((date_dim.d_month_seq <= 1200) 
and (date_dim.d_month_seq >= 1189))
@@ -49,12 +49,12 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF5 c_customer_sk->[ws_bill_customer_sk]
+--------------------------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=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 d_date_sk->[ws_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 d_date_sk->[ss_sold_date_sk]
 ----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 
RF5
+------------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF4 RF5
 
----------------------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------------------PhysicalProject
 --------------------------------------filter((date_dim.d_month_seq <= 1200) 
and (date_dim.d_month_seq >= 1189))
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query38.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query38.out
index 42730bedeba..c296dae3c76 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query38.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query38.out
@@ -13,11 +13,11 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF1 d_date_sk->[ss_sold_date_sk]
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=()
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk]
+----------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=()
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1
+----------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
 ----------------------------------PhysicalOlapScan[customer]
@@ -47,11 +47,11 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF5 d_date_sk->[ws_sold_date_sk]
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=()
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF5 d_date_sk->[ss_sold_date_sk]
+----------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=()
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[web_sales] apply RFs: RF5
+----------------------------------PhysicalOlapScan[store_sales] apply RFs: RF5
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
 ----------------------------------PhysicalOlapScan[customer]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query38.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query38.out
index eff7a693b70..049684ae4fc 100644
--- 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query38.out
+++ 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query38.out
@@ -13,11 +13,11 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF1 d_date_sk->[ss_sold_date_sk]
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF0 c_customer_sk->[ss_customer_sk]
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk]
+----------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF0 c_customer_sk->[ws_bill_customer_sk]
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 
RF1
+----------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 
RF1
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
 ----------------------------------PhysicalOlapScan[customer]
@@ -47,11 +47,11 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF5 d_date_sk->[ws_sold_date_sk]
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF4 c_customer_sk->[ws_bill_customer_sk]
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF5 d_date_sk->[ss_sold_date_sk]
+----------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF4 c_customer_sk->[ss_customer_sk]
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 
RF5
+----------------------------------PhysicalOlapScan[store_sales] apply RFs: RF4 
RF5
 ------------------------------PhysicalDistribute[DistributionSpecHash]
 --------------------------------PhysicalProject
 ----------------------------------PhysicalOlapScan[customer]
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query38.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query38.out
index 2b490866508..2b0bf04ef8a 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query38.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query38.out
@@ -13,12 +13,12 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=()
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=()
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
---------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF0 d_date_sk->[ss_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk]
 ----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF0
+------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0
 
----------------------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------------------PhysicalProject
 --------------------------------------filter((date_dim.d_month_seq <= 1194) 
and (date_dim.d_month_seq >= 1183))
@@ -49,12 +49,12 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=()
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=()
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
---------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 d_date_sk->[ws_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 d_date_sk->[ss_sold_date_sk]
 ----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF4
+------------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF4
 
----------------------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------------------PhysicalProject
 --------------------------------------filter((date_dim.d_month_seq <= 1194) 
and (date_dim.d_month_seq >= 1183))
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query38.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query38.out
index 79bb99dd567..7cf7301bafd 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query38.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query38.out
@@ -13,12 +13,12 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF1 c_customer_sk->[ss_customer_sk]
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF1 c_customer_sk->[ws_bill_customer_sk]
 ----------------------------PhysicalDistribute[DistributionSpecHash]
 ------------------------------PhysicalProject
---------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF0 d_date_sk->[ss_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk]
 ----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF0 RF1
+------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 
RF1
 
----------------------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------------------PhysicalProject
 --------------------------------------filter((date_dim.d_month_seq <= 1194) 
and (date_dim.d_month_seq >= 1183))
@@ -49,12 +49,12 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN] 
hashCondition=((web_sales.ws_bill_customer_sk = customer.c_customer_sk)) 
otherCondition=() build RFs:RF5 c_customer_sk->[ws_bill_customer_sk]
+--------------------------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=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 d_date_sk->[ws_sold_date_sk]
+--------------------------------hashJoin[INNER_JOIN] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 d_date_sk->[ss_sold_date_sk]
 ----------------------------------PhysicalProject
-------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 
RF5
+------------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF4 RF5
 
----------------------------------PhysicalDistribute[DistributionSpecReplicated]
 ------------------------------------PhysicalProject
 --------------------------------------filter((date_dim.d_month_seq <= 1194) 
and (date_dim.d_month_seq >= 1183))
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q10.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q10.out
index dbdd14a8074..d9df0d1a8b6 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q10.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q10.out
@@ -4,28 +4,27 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_nationkey = 
nation.n_nationkey)) otherCondition=()
---------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey 
= orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
-------------------------PhysicalProject
---------------------------filter((lineitem.l_returnflag = 'R'))
-----------------------------PhysicalOlapScan[lineitem] apply RFs: RF1
-------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------PhysicalProject
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=()
-------------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------------PhysicalProject
-----------------------------------filter((orders.o_orderdate < '1994-01-01') 
and (orders.o_orderdate >= '1993-10-01'))
-------------------------------------PhysicalOlapScan[orders]
-------------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[customer]
---------------------PhysicalDistribute[DistributionSpecReplicated]
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((customer.c_nationkey = 
nation.n_nationkey)) otherCondition=()
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
 ----------------------PhysicalProject
-------------------------PhysicalOlapScan[nation]
+------------------------filter((lineitem.l_returnflag = 'R'))
+--------------------------PhysicalOlapScan[lineitem] apply RFs: RF1
+----------------------PhysicalDistribute[DistributionSpecHash]
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=()
+----------------------------PhysicalDistribute[DistributionSpecHash]
+------------------------------PhysicalProject
+--------------------------------filter((orders.o_orderdate < '1994-01-01') and 
(orders.o_orderdate >= '1993-10-01'))
+----------------------------------PhysicalOlapScan[orders]
+----------------------------PhysicalDistribute[DistributionSpecHash]
+------------------------------PhysicalProject
+--------------------------------PhysicalOlapScan[customer]
+------------------PhysicalDistribute[DistributionSpecReplicated]
+--------------------PhysicalProject
+----------------------PhysicalOlapScan[nation]
 
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q3.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q3.out
index 829d5394c83..79be870fc91 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q3.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/nostats_rf_prune/q3.out
@@ -4,22 +4,21 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[LOCAL]
-------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------hashAgg[LOCAL]
+----------PhysicalProject
+------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------------PhysicalProject
+----------------filter((lineitem.l_shipdate > '1995-03-15'))
+------------------PhysicalOlapScan[lineitem] apply RFs: RF1
+--------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject
-------------------filter((lineitem.l_shipdate > '1995-03-15'))
---------------------PhysicalOlapScan[lineitem] apply RFs: RF1
-----------------PhysicalDistribute[DistributionSpecHash]
-------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((orders.o_orderdate < '1995-03-15'))
-----------------------------PhysicalOlapScan[orders] apply RFs: RF0
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((customer.c_mktsegment = 'BUILDING'))
-----------------------------PhysicalOlapScan[customer]
+------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((orders.o_orderdate < '1995-03-15'))
+--------------------------PhysicalOlapScan[orders] apply RFs: RF0
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((customer.c_mktsegment = 'BUILDING'))
+--------------------------PhysicalOlapScan[customer]
 
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q10.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q10.out
index 29aa25e1bf2..5b2e2d9f2bb 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q10.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q10.out
@@ -4,16 +4,16 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF2 o_orderkey->[l_orderkey]
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF2 o_orderkey->[l_orderkey]
+------------------PhysicalProject
+--------------------filter((lineitem.l_returnflag = 'R'))
+----------------------PhysicalOlapScan[lineitem] apply RFs: RF2
+------------------PhysicalDistribute[DistributionSpecHash]
 --------------------PhysicalProject
-----------------------filter((lineitem.l_returnflag = 'R'))
-------------------------PhysicalOlapScan[lineitem] apply RFs: RF2
---------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_nationkey = nation.n_nationkey)) otherCondition=()
 ------------------------PhysicalProject
 --------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build 
RFs:RF0 o_custkey->[c_custkey]
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q3.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q3.out
index 829d5394c83..79be870fc91 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q3.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/rf_prune/q3.out
@@ -4,22 +4,21 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[LOCAL]
-------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------hashAgg[LOCAL]
+----------PhysicalProject
+------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------------PhysicalProject
+----------------filter((lineitem.l_shipdate > '1995-03-15'))
+------------------PhysicalOlapScan[lineitem] apply RFs: RF1
+--------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject
-------------------filter((lineitem.l_shipdate > '1995-03-15'))
---------------------PhysicalOlapScan[lineitem] apply RFs: RF1
-----------------PhysicalDistribute[DistributionSpecHash]
-------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((orders.o_orderdate < '1995-03-15'))
-----------------------------PhysicalOlapScan[orders] apply RFs: RF0
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((customer.c_mktsegment = 'BUILDING'))
-----------------------------PhysicalOlapScan[customer]
+------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((orders.o_orderdate < '1995-03-15'))
+--------------------------PhysicalOlapScan[orders] apply RFs: RF0
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((customer.c_mktsegment = 'BUILDING'))
+--------------------------PhysicalOlapScan[customer]
 
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q10.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q10.out
index 95c3719f462..dbf7d083c3f 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q10.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q10.out
@@ -4,16 +4,16 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF2 o_orderkey->[l_orderkey]
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF2 o_orderkey->[l_orderkey]
+------------------PhysicalProject
+--------------------filter((lineitem.l_returnflag = 'R'))
+----------------------PhysicalOlapScan[lineitem] apply RFs: RF2
+------------------PhysicalDistribute[DistributionSpecHash]
 --------------------PhysicalProject
-----------------------filter((lineitem.l_returnflag = 'R'))
-------------------------PhysicalOlapScan[lineitem] apply RFs: RF2
---------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_nationkey = nation.n_nationkey)) otherCondition=() 
build RFs:RF1 n_nationkey->[c_nationkey]
 ------------------------PhysicalProject
 --------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build 
RFs:RF0 o_custkey->[c_custkey]
diff --git a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q3.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q3.out
index 829d5394c83..79be870fc91 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q3.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape/q3.out
@@ -4,22 +4,21 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[LOCAL]
-------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------hashAgg[LOCAL]
+----------PhysicalProject
+------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------------PhysicalProject
+----------------filter((lineitem.l_shipdate > '1995-03-15'))
+------------------PhysicalOlapScan[lineitem] apply RFs: RF1
+--------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject
-------------------filter((lineitem.l_shipdate > '1995-03-15'))
---------------------PhysicalOlapScan[lineitem] apply RFs: RF1
-----------------PhysicalDistribute[DistributionSpecHash]
-------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((orders.o_orderdate < '1995-03-15'))
-----------------------------PhysicalOlapScan[orders] apply RFs: RF0
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((customer.c_mktsegment = 'BUILDING'))
-----------------------------PhysicalOlapScan[customer]
+------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((orders.o_orderdate < '1995-03-15'))
+--------------------------PhysicalOlapScan[orders] apply RFs: RF0
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((customer.c_mktsegment = 'BUILDING'))
+--------------------------PhysicalOlapScan[customer]
 
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q10.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q10.out
index 4bdbde8a4c7..33f41b42ac0 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q10.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q10.out
@@ -4,28 +4,27 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[GLOBAL]
-------------PhysicalDistribute[DistributionSpecHash]
---------------hashAgg[LOCAL]
-----------------PhysicalProject
-------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_nationkey = 
nation.n_nationkey)) otherCondition=() build RFs:RF2 n_nationkey->[c_nationkey]
---------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey 
= orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
-------------------------PhysicalProject
---------------------------filter((lineitem.l_returnflag = 'R'))
-----------------------------PhysicalOlapScan[lineitem] apply RFs: RF1
-------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------PhysicalProject
-----------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build 
RFs:RF0 c_custkey->[o_custkey]
-------------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------------PhysicalProject
-----------------------------------filter((orders.o_orderdate < '1994-01-01') 
and (orders.o_orderdate >= '1993-10-01'))
-------------------------------------PhysicalOlapScan[orders] apply RFs: RF0
-------------------------------PhysicalDistribute[DistributionSpecHash]
---------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[customer] apply RFs: RF2
---------------------PhysicalDistribute[DistributionSpecReplicated]
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute[DistributionSpecHash]
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN] hashCondition=((customer.c_nationkey = 
nation.n_nationkey)) otherCondition=() build RFs:RF2 n_nationkey->[c_nationkey]
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
 ----------------------PhysicalProject
-------------------------PhysicalOlapScan[nation]
+------------------------filter((lineitem.l_returnflag = 'R'))
+--------------------------PhysicalOlapScan[lineitem] apply RFs: RF1
+----------------------PhysicalDistribute[DistributionSpecHash]
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN] 
hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build 
RFs:RF0 c_custkey->[o_custkey]
+----------------------------PhysicalDistribute[DistributionSpecHash]
+------------------------------PhysicalProject
+--------------------------------filter((orders.o_orderdate < '1994-01-01') and 
(orders.o_orderdate >= '1993-10-01'))
+----------------------------------PhysicalOlapScan[orders] apply RFs: RF0
+----------------------------PhysicalDistribute[DistributionSpecHash]
+------------------------------PhysicalProject
+--------------------------------PhysicalOlapScan[customer] apply RFs: RF2
+------------------PhysicalDistribute[DistributionSpecReplicated]
+--------------------PhysicalProject
+----------------------PhysicalOlapScan[nation]
 
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q3.out 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q3.out
index 829d5394c83..79be870fc91 100644
--- a/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q3.out
+++ b/regression-test/data/nereids_tpch_shape_sf1000_p0/shape_no_stats/q3.out
@@ -4,22 +4,21 @@ PhysicalResultSink
 --PhysicalTopN[MERGE_SORT]
 ----PhysicalDistribute[DistributionSpecGather]
 ------PhysicalTopN[LOCAL_SORT]
---------PhysicalProject
-----------hashAgg[LOCAL]
-------------PhysicalProject
---------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------hashAgg[LOCAL]
+----------PhysicalProject
+------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = 
orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey]
+--------------PhysicalProject
+----------------filter((lineitem.l_shipdate > '1995-03-15'))
+------------------PhysicalOlapScan[lineitem] apply RFs: RF1
+--------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject
-------------------filter((lineitem.l_shipdate > '1995-03-15'))
---------------------PhysicalOlapScan[lineitem] apply RFs: RF1
-----------------PhysicalDistribute[DistributionSpecHash]
-------------------PhysicalProject
---------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((orders.o_orderdate < '1995-03-15'))
-----------------------------PhysicalOlapScan[orders] apply RFs: RF0
-----------------------PhysicalDistribute[DistributionSpecHash]
-------------------------PhysicalProject
---------------------------filter((customer.c_mktsegment = 'BUILDING'))
-----------------------------PhysicalOlapScan[customer]
+------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = 
orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey]
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((orders.o_orderdate < '1995-03-15'))
+--------------------------PhysicalOlapScan[orders] apply RFs: RF0
+--------------------PhysicalDistribute[DistributionSpecHash]
+----------------------PhysicalProject
+------------------------filter((customer.c_mktsegment = 'BUILDING'))
+--------------------------PhysicalOlapScan[customer]
 
diff --git a/regression-test/suites/nereids_p0/hint/test_distribute.groovy 
b/regression-test/suites/nereids_p0/hint/test_distribute.groovy
index 6ac7faa1ec0..db53a3b4ffd 100644
--- a/regression-test/suites/nereids_p0/hint/test_distribute.groovy
+++ b/regression-test/suites/nereids_p0/hint/test_distribute.groovy
@@ -27,7 +27,8 @@ suite("test_distribute") {
     sql 'set enable_nereids_planner=true'
     sql 'set enable_fallback_to_original_planner=false'
     sql 'set runtime_filter_mode=OFF'
-
+    sql 'set be_number_for_test=1'
+    
     // create tables
     sql """drop table if exists t1;"""
     sql """drop table if exists t2;"""
diff --git 
a/regression-test/suites/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.groovy
 
b/regression-test/suites/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.groovy
index 88862874362..aa867cd9118 100644
--- 
a/regression-test/suites/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.groovy
+++ 
b/regression-test/suites/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.groovy
@@ -18,6 +18,7 @@
 suite("push_down_count_through_join_one_side") {
     sql "SET enable_nereids_planner=true"
     sql "set runtime_filter_mode=OFF"
+    sql 'set be_number_for_test=3'
     sql "SET enable_fallback_to_original_planner=false"
     sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
 
diff --git 
a/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
 
b/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
index 41a2f8f852c..20cb1e5266f 100644
--- 
a/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
+++ 
b/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
@@ -18,7 +18,7 @@
 suite("eliminate_gby_key") {
     sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
        sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION"
-
+    sql 'set be_number_for_test=3'
 
        sql """DROP TABLE IF EXISTS t1;"""
     sql """DROP TABLE IF EXISTS t2;"""
@@ -124,7 +124,7 @@ suite("eliminate_gby_key") {
         select cnt
         from   temp; 
        """)
-       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, 
count(*) AS `cnt`#20]")
+       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18")
     }
 
     explain {
@@ -204,7 +204,7 @@ suite("eliminate_gby_key") {
         select t2_c1, cnt
         from   temp; 
        """)
-       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, 
count(*) AS `cnt`#20]")
+       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18")
     }
 
     explain {
@@ -224,7 +224,7 @@ suite("eliminate_gby_key") {
         select c3, cnt
         from   temp; 
        """)
-       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, 
count(*) AS `cnt`#20]")
+       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18")
     }
 
     explain {
@@ -244,7 +244,7 @@ suite("eliminate_gby_key") {
         select t2_c1, c3, cnt
         from   temp; 
        """)
-       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, 
count(*) AS `cnt`#20]")
+       contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18")
     }
 
     explain {
@@ -284,6 +284,6 @@ suite("eliminate_gby_key") {
         select t2_c2, c3, t2_c1, cnt
         from   temp; 
        """)
-       contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, 
c3#18, t2_c2#19, count(*) AS `cnt`#20]")
+       contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, 
c3#18, t2_c2#19")
     }
 }
diff --git 
a/regression-test/suites/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.groovy
 
b/regression-test/suites/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.groovy
index e32c7b7d00e..81492dd7d48 100644
--- 
a/regression-test/suites/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.groovy
+++ 
b/regression-test/suites/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.groovy
@@ -20,7 +20,7 @@ suite("eliminate_outer_join") {
     sql "set runtime_filter_mode=OFF"
     sql "SET enable_fallback_to_original_planner=false"
     sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION"
-
+    sql 'set be_number_for_test=3'
 
     sql """
         DROP TABLE IF EXISTS t
diff --git 
a/regression-test/suites/nereids_rules_p0/filter_push_down/push_down_alias_through_join.groovy
 
b/regression-test/suites/nereids_rules_p0/filter_push_down/push_down_alias_through_join.groovy
index 9e34c5590b5..021d6056951 100644
--- 
a/regression-test/suites/nereids_rules_p0/filter_push_down/push_down_alias_through_join.groovy
+++ 
b/regression-test/suites/nereids_rules_p0/filter_push_down/push_down_alias_through_join.groovy
@@ -18,6 +18,7 @@
 suite("push_down_alias_through_join") {
     sql "SET enable_nereids_planner=true"
     sql "set runtime_filter_mode=OFF"
+    sql 'set be_number_for_test=3'
     sql "SET enable_fallback_to_original_planner=false"
     sql "use regression_test_nereids_rules_p0"
     sql "set disable_join_reorder=true"
diff --git 
a/regression-test/suites/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.groovy
 
b/regression-test/suites/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.groovy
index 3ee3a916e7b..933fe3400cf 100644
--- 
a/regression-test/suites/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.groovy
+++ 
b/regression-test/suites/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.groovy
@@ -18,6 +18,7 @@
 suite("push_down_top_n_distinct_through_join") {
     sql "SET enable_nereids_planner=true"
     sql "set runtime_filter_mode=OFF"
+    sql 'set be_number_for_test=3'
     sql "SET enable_fallback_to_original_planner=false"
     sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
     sql "SET disable_join_reorder=true"
diff --git a/regression-test/suites/performance_p0/redundant_conjuncts.groovy 
b/regression-test/suites/performance_p0/redundant_conjuncts.groovy
index 37093a8c7bd..6f9e223a5f2 100644
--- a/regression-test/suites/performance_p0/redundant_conjuncts.groovy
+++ b/regression-test/suites/performance_p0/redundant_conjuncts.groovy
@@ -17,6 +17,7 @@
 
 suite("redundant_conjuncts") {
     sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION"
+    sql 'set be_number_for_test=1'
     sql """
     DROP TABLE IF EXISTS redundant_conjuncts;
     """
diff --git a/regression-test/suites/query_p0/join/test_join.groovy 
b/regression-test/suites/query_p0/join/test_join.groovy
index dc436ba6739..9834f5a0d2d 100644
--- a/regression-test/suites/query_p0/join/test_join.groovy
+++ b/regression-test/suites/query_p0/join/test_join.groovy
@@ -17,7 +17,7 @@
 
 suite("test_join", "query,p0") {
     sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION"
-
+    sql 'set be_number_for_test=1'
     sql"use test_query_db"
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to