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

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


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 52a0484350d [opt](Nereids) use 1 instead narrowest column when do 
column pruning (#41548) (#42376)
52a0484350d is described below

commit 52a0484350d7b525b94bba9adf49f545806a7292
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Tue Oct 29 11:11:11 2024 +0800

    [opt](Nereids) use 1 instead narrowest column when do column pruning 
(#41548) (#42376)
    
    pick from master #41548
---
 be/src/pipeline/exec/table_function_operator.cpp   |  3 -
 .../trees/plans/logical/LogicalProject.java        |  3 +-
 .../doris/nereids/jobs/joinorder/TPCHTest.java     |  4 +-
 .../nereids/rules/rewrite/ColumnPruningTest.java   | 15 ++--
 .../eliminate_aggregate_constant.out               | 96 +++++++++++-----------
 .../eliminate_join_condition.out                   |  8 +-
 .../push_down_filter_other_condition.out           |  2 +-
 .../limit_push_down/limit_push_down.out            | 24 +++---
 .../limit_push_down/order_push_down.out            |  8 +-
 .../push_down_top_n_distinct_through_join.out      |  2 +-
 .../nereids_syntax_p0/sub_query_correlated.out     |  9 ++
 .../shape/query90.out                              | 36 ++++----
 .../rf_prune/query90.out                           | 36 ++++----
 .../nereids_tpcds_shape_sf100_p0/shape/query90.out | 36 ++++----
 .../runtime_filter/test_pushdown_setop.out         |  2 +-
 .../new_shapes_p0/tpcds_sf100/rf_prune/query90.out | 36 ++++----
 .../new_shapes_p0/tpcds_sf100/shape/query90.out    | 36 ++++----
 .../new_shapes_p0/tpcds_sf1000/shape/query90.out   | 36 ++++----
 .../runtime_filter/test_pushdown_setop.out         |  2 +-
 19 files changed, 200 insertions(+), 194 deletions(-)

diff --git a/be/src/pipeline/exec/table_function_operator.cpp 
b/be/src/pipeline/exec/table_function_operator.cpp
index ff9dfe632fa..38e69f7cb0e 100644
--- a/be/src/pipeline/exec/table_function_operator.cpp
+++ b/be/src/pipeline/exec/table_function_operator.cpp
@@ -232,9 +232,6 @@ TableFunctionOperatorX::TableFunctionOperatorX(ObjectPool* 
pool, const TPlanNode
 
 Status TableFunctionOperatorX::_prepare_output_slot_ids(const TPlanNode& 
tnode) {
     // Prepare output slot ids
-    if (tnode.table_function_node.outputSlotIds.empty()) {
-        return Status::InternalError("Output slots of table function node is 
empty");
-    }
     SlotId max_id = -1;
     for (auto slot_id : tnode.table_function_node.outputSlotIds) {
         if (slot_id > max_id) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java
index 3b25fe13d4b..58d99b635e7 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java
@@ -29,6 +29,7 @@ import 
org.apache.doris.nereids.trees.expressions.NamedExpression;
 import org.apache.doris.nereids.trees.expressions.Slot;
 import 
org.apache.doris.nereids.trees.expressions.functions.NoneMovableFunction;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Uuid;
+import org.apache.doris.nereids.trees.expressions.literal.TinyIntLiteral;
 import org.apache.doris.nereids.trees.plans.Plan;
 import org.apache.doris.nereids.trees.plans.PlanType;
 import org.apache.doris.nereids.trees.plans.algebra.Project;
@@ -87,7 +88,7 @@ public class LogicalProject<CHILD_TYPE extends Plan> extends 
LogicalUnary<CHILD_
         Preconditions.checkArgument(!projects.isEmpty() || !(child instanceof 
Unbound),
                 "projects can not be empty when child plan is unbound");
         this.projects = projects.isEmpty()
-                ? 
ImmutableList.of(ExpressionUtils.selectMinimumColumn(child.get(0).getOutput()))
+                ? ImmutableList.of(new Alias(new TinyIntLiteral((byte) 1)))
                 : projects;
         this.projectsSet = Suppliers.memoize(() -> 
ImmutableSet.copyOf(this.projects));
         this.excepts = Utils.fastToImmutableList(excepts);
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/TPCHTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/TPCHTest.java
index 9eefe62ea82..12f16058bea 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/TPCHTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/TPCHTest.java
@@ -68,8 +68,8 @@ public class TPCHTest extends TPCHTestBase implements 
MemoPatternMatchSupported
                                 logicalAggregate(
                                     logicalProject().when(
                                             project -> 
project.getProjects().size() == 1
-                                                    && 
project.getProjects().get(0) instanceof SlotReference
-                                                    && 
"o_orderdate".equals(project.getProjects().get(0).toSql()))))
+                                                    && 
!(project.getProjects().get(0) instanceof SlotReference)
+                                    )))
                 );
     }
 }
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ColumnPruningTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ColumnPruningTest.java
index e6f2bb6838d..9f18eeb851f 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ColumnPruningTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ColumnPruningTest.java
@@ -18,10 +18,11 @@
 package org.apache.doris.nereids.rules.rewrite;
 
 import org.apache.doris.nereids.trees.expressions.NamedExpression;
+import org.apache.doris.nereids.trees.expressions.SlotReference;
 import org.apache.doris.nereids.trees.plans.Plan;
 import org.apache.doris.nereids.trees.plans.logical.LogicalProject;
 import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.IntegerType;
+import org.apache.doris.nereids.types.TinyIntType;
 import org.apache.doris.nereids.util.MemoPatternMatchSupported;
 import org.apache.doris.nereids.util.PlanChecker;
 import org.apache.doris.utframe.TestWithFeService;
@@ -188,7 +189,7 @@ public class ColumnPruningTest extends TestWithFeService 
implements MemoPatternM
                         logicalAggregate(
                                 logicalProject(
                                         logicalOlapScan()
-                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(IntegerType.INSTANCE)
+                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(TinyIntType.INSTANCE)
                                         && p.getProjects().size() == 1)
                         )
                 );
@@ -203,7 +204,7 @@ public class ColumnPruningTest extends TestWithFeService 
implements MemoPatternM
                         logicalAggregate(
                                 logicalProject(
                                         logicalOlapScan()
-                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(IntegerType.INSTANCE)
+                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(TinyIntType.INSTANCE)
                                         && p.getProjects().size() == 1)
                         )
                 );
@@ -218,7 +219,7 @@ public class ColumnPruningTest extends TestWithFeService 
implements MemoPatternM
                         logicalAggregate(
                                 logicalProject(
                                         logicalOlapScan()
-                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(IntegerType.INSTANCE)
+                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(TinyIntType.INSTANCE)
                                         && p.getProjects().size() == 1)
                         )
                 );
@@ -233,7 +234,7 @@ public class ColumnPruningTest extends TestWithFeService 
implements MemoPatternM
                         logicalAggregate(
                                 logicalProject(
                                         logicalOlapScan()
-                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(IntegerType.INSTANCE)
+                                ).when(p -> 
p.getProjects().get(0).getDataType().equals(TinyIntType.INSTANCE)
                                         && p.getProjects().size() == 1)
                         )
                 );
@@ -283,9 +284,7 @@ public class ColumnPruningTest extends TestWithFeService 
implements MemoPatternM
                                                                     
"internal.test.student.id",
                                                                     
"internal.test.student.name"))),
                                             logicalProject(logicalRelation())
-                                                    .when(p -> 
getOutputQualifiedNames(p)
-                                                            
.containsAll(ImmutableList.of(
-                                                                    
"internal.test.score.sid")))
+                                                    .when(p -> 
p.getProjects().stream().noneMatch(SlotReference.class::isInstance))
                                     )
                         )
                 );
diff --git 
a/regression-test/data/nereids_rules_p0/eliminate_aggregate_constant/eliminate_aggregate_constant.out
 
b/regression-test/data/nereids_rules_p0/eliminate_aggregate_constant/eliminate_aggregate_constant.out
index c0d8526bc65..3e1ee719611 100644
--- 
a/regression-test/data/nereids_rules_p0/eliminate_aggregate_constant/eliminate_aggregate_constant.out
+++ 
b/regression-test/data/nereids_rules_p0/eliminate_aggregate_constant/eliminate_aggregate_constant.out
@@ -11,7 +11,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t1]
+--------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_3 --
 PhysicalResultSink
@@ -25,7 +25,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t1]
+--------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_5 --
 PhysicalResultSink
@@ -39,7 +39,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t1]
+--------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_7 --
 PhysicalResultSink
@@ -53,7 +53,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t1]
+--------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_2_1 --
 PhysicalResultSink
@@ -67,7 +67,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t2]
+--------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_2_3 --
 PhysicalResultSink
@@ -81,7 +81,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t2]
+--------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_2_5 --
 PhysicalResultSink
@@ -95,7 +95,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t2]
+--------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_2_7 --
 PhysicalResultSink
@@ -109,7 +109,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t2]
+--------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_3_1 --
 PhysicalResultSink
@@ -123,7 +123,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t3]
+--------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_3_3 --
 PhysicalResultSink
@@ -137,7 +137,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t3]
+--------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_3_5 --
 PhysicalResultSink
@@ -151,7 +151,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t3]
+--------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_3_7 --
 PhysicalResultSink
@@ -165,7 +165,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t3]
+--------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_4_1 --
 PhysicalResultSink
@@ -179,7 +179,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t4]
+--------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_4_3 --
 PhysicalResultSink
@@ -193,7 +193,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t4]
+--------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_4_5 --
 PhysicalResultSink
@@ -207,7 +207,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t4]
+--------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_4_7 --
 PhysicalResultSink
@@ -221,7 +221,7 @@ PhysicalResultSink
 --hashAgg[GLOBAL]
 ----hashAgg[LOCAL]
 ------PhysicalProject
---------PhysicalOlapScan[t4]
+--------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_add_1 --
 PhysicalResultSink
@@ -236,7 +236,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_add_3 --
 PhysicalResultSink
@@ -251,7 +251,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_add_5 --
 PhysicalResultSink
@@ -266,7 +266,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_add_7 --
 PhysicalResultSink
@@ -281,7 +281,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !basic_add_2_1 --
 PhysicalResultSink
@@ -296,7 +296,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_add_2_3 --
 PhysicalResultSink
@@ -311,7 +311,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_add_2_5 --
 PhysicalResultSink
@@ -326,7 +326,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_add_2_7 --
 PhysicalResultSink
@@ -341,7 +341,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !basic_add_3_1 --
 PhysicalResultSink
@@ -356,7 +356,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_add_3_3 --
 PhysicalResultSink
@@ -371,7 +371,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_add_3_5 --
 PhysicalResultSink
@@ -386,7 +386,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_add_3_7 --
 PhysicalResultSink
@@ -401,7 +401,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !basic_add_4_1 --
 PhysicalResultSink
@@ -416,7 +416,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_add_4_3 --
 PhysicalResultSink
@@ -431,7 +431,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_add_4_5 --
 PhysicalResultSink
@@ -446,7 +446,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_add_4_7 --
 PhysicalResultSink
@@ -461,7 +461,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !add_sum_1 --
 PhysicalResultSink
@@ -476,7 +476,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !add_sum_3 --
 PhysicalResultSink
@@ -491,7 +491,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !add_sum_5 --
 PhysicalResultSink
@@ -506,7 +506,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !add_sum_7 --
 PhysicalResultSink
@@ -521,7 +521,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t1]
+----------PhysicalStorageLayerAggregate[t1]
 
 -- !add_sum_2_1 --
 PhysicalResultSink
@@ -536,7 +536,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !add_sum_2_3 --
 PhysicalResultSink
@@ -551,7 +551,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !add_sum_2_5 --
 PhysicalResultSink
@@ -566,7 +566,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !add_sum_2_7 --
 PhysicalResultSink
@@ -581,7 +581,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !add_sum_3_1 --
 PhysicalResultSink
@@ -596,7 +596,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !add_sum_3_3 --
 PhysicalResultSink
@@ -611,7 +611,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !add_sum_3_5 --
 PhysicalResultSink
@@ -626,7 +626,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !add_sum_3_7 --
 PhysicalResultSink
@@ -641,7 +641,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !add_sum_4_1 --
 PhysicalResultSink
@@ -656,7 +656,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !add_sum_4_3 --
 PhysicalResultSink
@@ -671,7 +671,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !add_sum_4_5 --
 PhysicalResultSink
@@ -686,7 +686,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !add_sum_4_7 --
 PhysicalResultSink
@@ -701,7 +701,7 @@ PhysicalResultSink
 ----hashAgg[GLOBAL]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !basic_1 --
 1
diff --git 
a/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out
 
b/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out
index 0b8b381e1f2..ba16949c0c2 100644
--- 
a/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out
+++ 
b/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out
@@ -27,24 +27,24 @@ PhysicalResultSink
 PhysicalResultSink
 --NestedLoopJoin[LEFT_SEMI_JOIN]
 ----PhysicalOlapScan[t]
-----PhysicalOlapScan[t]
+----PhysicalStorageLayerAggregate[t]
 
 -- !left_anti_join --
 PhysicalResultSink
 --NestedLoopJoin[LEFT_ANTI_JOIN]
 ----PhysicalOlapScan[t]
-----PhysicalOlapScan[t]
+----PhysicalStorageLayerAggregate[t]
 
 -- !right_semi_join --
 PhysicalResultSink
 --NestedLoopJoin[RIGHT_SEMI_JOIN]
-----PhysicalOlapScan[t]
+----PhysicalStorageLayerAggregate[t]
 ----PhysicalOlapScan[t]
 
 -- !right_anti_join --
 PhysicalResultSink
 --NestedLoopJoin[RIGHT_ANTI_JOIN]
-----PhysicalOlapScan[t]
+----PhysicalStorageLayerAggregate[t]
 ----PhysicalOlapScan[t]
 
 -- !inner_join --
diff --git 
a/regression-test/data/nereids_rules_p0/filter_push_down/push_down_filter_other_condition.out
 
b/regression-test/data/nereids_rules_p0/filter_push_down/push_down_filter_other_condition.out
index 65f95f83ec0..afa4e4cb6ae 100644
--- 
a/regression-test/data/nereids_rules_p0/filter_push_down/push_down_filter_other_condition.out
+++ 
b/regression-test/data/nereids_rules_p0/filter_push_down/push_down_filter_other_condition.out
@@ -208,7 +208,7 @@ PhysicalResultSink
 --NestedLoopJoin[LEFT_SEMI_JOIN]
 ----filter((t1.id > 1))
 ------PhysicalOlapScan[t1]
-----PhysicalOlapScan[t2]
+----PhysicalStorageLayerAggregate[t2]
 
 -- !pushdown_inner_join_subquery_outer --
 PhysicalResultSink
diff --git 
a/regression-test/data/nereids_rules_p0/limit_push_down/limit_push_down.out 
b/regression-test/data/nereids_rules_p0/limit_push_down/limit_push_down.out
index bb0c3e3c2a9..90ec76b7ae1 100644
--- a/regression-test/data/nereids_rules_p0/limit_push_down/limit_push_down.out
+++ b/regression-test/data/nereids_rules_p0/limit_push_down/limit_push_down.out
@@ -85,7 +85,7 @@ PhysicalResultSink
 --------PhysicalLimit[LOCAL]
 ----------PhysicalOlapScan[t1]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_offset_join --
 PhysicalResultSink
@@ -120,7 +120,7 @@ PhysicalResultSink
 --------------PhysicalTopN[LOCAL_SORT]
 ----------------hashAgg[LOCAL]
 ------------------PhysicalOlapScan[t1]
-------------PhysicalOlapScan[t2]
+------------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_distinct --
 PhysicalResultSink
@@ -133,7 +133,7 @@ PhysicalResultSink
 --------------PhysicalTopN[LOCAL_SORT]
 ----------------hashAgg[LOCAL]
 ------------------PhysicalOlapScan[t1]
-------------PhysicalOlapScan[t2]
+------------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_distinct --
 PhysicalResultSink
@@ -535,7 +535,7 @@ PhysicalResultSink
 --------PhysicalLimit[LOCAL]
 ----------PhysicalOlapScan[t1]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t2]
+----------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_multiple_left_outer_join --
 PhysicalResultSink
@@ -580,9 +580,9 @@ PhysicalResultSink
 ------------PhysicalLimit[LOCAL]
 --------------PhysicalOlapScan[t1]
 ------------PhysicalLimit[LOCAL]
---------------PhysicalOlapScan[t2]
+--------------PhysicalStorageLayerAggregate[t2]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !limit_left_outer_join_right_outer_join --
 PhysicalResultSink
@@ -616,7 +616,7 @@ PhysicalResultSink
 --------------PhysicalOlapScan[t1]
 ------------PhysicalOlapScan[t2]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !limit_right_outer_join_full_outer_join --
 PhysicalResultSink
@@ -639,7 +639,7 @@ PhysicalResultSink
 ------------PhysicalLimit[LOCAL]
 --------------PhysicalOlapScan[t2]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !limit_full_outer_join_cross_join --
 PhysicalResultSink
@@ -651,7 +651,7 @@ PhysicalResultSink
 ------------PhysicalOlapScan[t1]
 ------------PhysicalOlapScan[t2]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t3]
+----------PhysicalStorageLayerAggregate[t3]
 
 -- !limit_left_outer_join_right_outer_join_full_outer_join --
 PhysicalResultSink
@@ -678,7 +678,7 @@ PhysicalResultSink
 ------------PhysicalLimit[LOCAL]
 --------------PhysicalOlapScan[t3]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !limit_left_outer_join_full_outer_join_cross_join --
 PhysicalResultSink
@@ -692,7 +692,7 @@ PhysicalResultSink
 --------------PhysicalOlapScan[t2]
 ------------PhysicalOlapScan[t3]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !limit_right_outer_join_full_outer_join_cross_join --
 PhysicalResultSink
@@ -706,7 +706,7 @@ PhysicalResultSink
 --------------PhysicalOlapScan[t2]
 ------------PhysicalOlapScan[t3]
 --------PhysicalLimit[LOCAL]
-----------PhysicalOlapScan[t4]
+----------PhysicalStorageLayerAggregate[t4]
 
 -- !limit_left_outer_join_right_outer_join_full_outer_join_cross_join --
 PhysicalResultSink
diff --git 
a/regression-test/data/nereids_rules_p0/limit_push_down/order_push_down.out 
b/regression-test/data/nereids_rules_p0/limit_push_down/order_push_down.out
index bbbadef2b73..694e609eaeb 100644
--- a/regression-test/data/nereids_rules_p0/limit_push_down/order_push_down.out
+++ b/regression-test/data/nereids_rules_p0/limit_push_down/order_push_down.out
@@ -79,7 +79,7 @@ PhysicalResultSink
 ------PhysicalTopN[MERGE_SORT]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalOlapScan[t1]
-------PhysicalOlapScan[t2]
+------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_offset_sort_join --
 PhysicalResultSink
@@ -122,7 +122,7 @@ PhysicalResultSink
 ----------------hashAgg[GLOBAL]
 ------------------hashAgg[LOCAL]
 --------------------PhysicalOlapScan[t1]
-------------PhysicalOlapScan[t2]
+------------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_distinct --
 PhysicalResultSink
@@ -136,7 +136,7 @@ PhysicalResultSink
 ----------------hashAgg[GLOBAL]
 ------------------hashAgg[LOCAL]
 --------------------PhysicalOlapScan[t1]
-------------PhysicalOlapScan[t2]
+------------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_distinct --
 PhysicalResultSink
@@ -582,7 +582,7 @@ PhysicalResultSink
 ------PhysicalTopN[MERGE_SORT]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalOlapScan[t1]
-------PhysicalOlapScan[t2]
+------PhysicalStorageLayerAggregate[t2]
 
 -- !limit_multiple_left_outer_join --
 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..ef877b24e97 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
@@ -33,7 +33,7 @@ PhysicalResultSink
 --------------PhysicalTopN[LOCAL_SORT]
 ----------------hashAgg[LOCAL]
 ------------------PhysicalOlapScan[table_join]
-------------PhysicalOlapScan[table_join]
+------------PhysicalStorageLayerAggregate[table_join]
 
 -- !push_down_topn_through_join_data --
 0
diff --git a/regression-test/data/nereids_syntax_p0/sub_query_correlated.out 
b/regression-test/data/nereids_syntax_p0/sub_query_correlated.out
index d57a673339b..e7758d02a5f 100644
--- a/regression-test/data/nereids_syntax_p0/sub_query_correlated.out
+++ b/regression-test/data/nereids_syntax_p0/sub_query_correlated.out
@@ -187,6 +187,15 @@
 -- !exist_corr_limit0 --
 
 -- !exist_unCorrelated_limit1_offset1 --
+1      2
+1      3
+2      4
+2      5
+3      3
+3      4
+20     2
+22     3
+24     4
 
 -- !exist_unCorrelated_limit0_offset1 --
 
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query90.out 
b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query90.out
index c25f20d5a2f..e5f91ba2a61 100644
--- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query90.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query90.out
@@ -8,40 +8,40 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF5 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF4 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF4 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF3 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF3 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF3 RF4 RF5
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 13) and 
(time_dim.t_hour >= 12))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 13) and (time_dim.t_hour >= 
12))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 6))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 6))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 --------hashAgg[GLOBAL]
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF2 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF2 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF1 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF1 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF0 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF0 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 15) and 
(time_dim.t_hour >= 14))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 15) and (time_dim.t_hour >= 
14))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 6))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 6))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query90.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query90.out
index 0496a291129..13607b4ae13 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query90.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query90.out
@@ -8,40 +8,40 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF5 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF4 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF4 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF3 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF3 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF3 RF4 RF5
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 11) and 
(time_dim.t_hour >= 10))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 11) and (time_dim.t_hour >= 
10))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 --------hashAgg[GLOBAL]
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF2 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF2 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF1 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF1 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF0 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF0 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 17) and 
(time_dim.t_hour >= 16))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 17) and (time_dim.t_hour >= 
16))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 
diff --git 
a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query90.out 
b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query90.out
index 0496a291129..13607b4ae13 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query90.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query90.out
@@ -8,40 +8,40 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF5 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF4 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF4 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF3 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF3 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF3 RF4 RF5
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 11) and 
(time_dim.t_hour >= 10))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 11) and (time_dim.t_hour >= 
10))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 --------hashAgg[GLOBAL]
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF2 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF2 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF1 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF1 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF0 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF0 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 17) and 
(time_dim.t_hour >= 16))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 17) and (time_dim.t_hour >= 
16))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 
diff --git 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/runtime_filter/test_pushdown_setop.out
 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/runtime_filter/test_pushdown_setop.out
index f985d4c8aa1..ba4c37059cb 100644
--- 
a/regression-test/data/nereids_tpch_shape_sf1000_p0/runtime_filter/test_pushdown_setop.out
+++ 
b/regression-test/data/nereids_tpch_shape_sf1000_p0/runtime_filter/test_pushdown_setop.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((T.l_linenumber = 
expr_cast(r_regionkey as BIGINT))) otherCondition=() build RFs:RF0 
expr_cast(r_regionkey as BIGINT)->[cast(l_linenumber as BIGINT),o_orderkey]
+----------hashJoin[INNER_JOIN broadcast] hashCondition=((T.l_linenumber = 
expr_cast(r_regionkey as BIGINT))) otherCondition=() build RFs:RF0 
expr_cast(r_regionkey as BIGINT)->[cast(l_linenumber as BIGINT),o_orderkey]
 ------------PhysicalExcept
 --------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject
diff --git 
a/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query90.out 
b/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query90.out
index 0496a291129..13607b4ae13 100644
--- a/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query90.out
+++ b/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query90.out
@@ -8,40 +8,40 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF5 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF4 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF4 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF3 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF3 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF3 RF4 RF5
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 11) and 
(time_dim.t_hour >= 10))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 11) and (time_dim.t_hour >= 
10))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 --------hashAgg[GLOBAL]
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF2 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF2 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF1 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF1 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF0 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF0 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 17) and 
(time_dim.t_hour >= 16))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 17) and (time_dim.t_hour >= 
16))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 
diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query90.out 
b/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query90.out
index 0496a291129..13607b4ae13 100644
--- a/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query90.out
+++ b/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query90.out
@@ -8,40 +8,40 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF5 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF4 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF4 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF3 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF3 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF3 RF4 RF5
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 11) and 
(time_dim.t_hour >= 10))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 11) and (time_dim.t_hour >= 
10))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 --------hashAgg[GLOBAL]
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF2 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF2 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF1 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF1 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF0 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF0 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 17) and 
(time_dim.t_hour >= 16))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 17) and (time_dim.t_hour >= 
16))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 2))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 2))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 
diff --git a/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query90.out 
b/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query90.out
index c25f20d5a2f..e5f91ba2a61 100644
--- a/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query90.out
+++ b/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query90.out
@@ -8,40 +8,40 @@ PhysicalResultSink
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF5 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF4 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF4 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF3 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF3 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF3 RF4 RF5
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 13) and 
(time_dim.t_hour >= 12))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 13) and (time_dim.t_hour >= 
12))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 6))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 6))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 --------hashAgg[GLOBAL]
 ----------PhysicalDistribute[DistributionSpecGather]
 ------------hashAgg[LOCAL]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF2 
hd_demo_sk->[ws_ship_hdemo_sk]
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF2 wp_web_page_sk->[ws_web_page_sk]
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF1 t_time_sk->[ws_sold_time_sk]
+--------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_ship_hdemo_sk = 
household_demographics.hd_demo_sk)) otherCondition=() build RFs:RF1 
hd_demo_sk->[ws_ship_hdemo_sk]
 ----------------------PhysicalProject
-------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) 
otherCondition=() build RFs:RF0 wp_web_page_sk->[ws_web_page_sk]
+------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((web_sales.ws_sold_time_sk = time_dim.t_time_sk)) 
otherCondition=() build RFs:RF0 t_time_sk->[ws_sold_time_sk]
 --------------------------PhysicalProject
 ----------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2
 --------------------------PhysicalProject
-----------------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
-------------------------------PhysicalOlapScan[web_page]
+----------------------------filter((time_dim.t_hour <= 15) and 
(time_dim.t_hour >= 14))
+------------------------------PhysicalOlapScan[time_dim]
 ----------------------PhysicalProject
-------------------------filter((time_dim.t_hour <= 15) and (time_dim.t_hour >= 
14))
---------------------------PhysicalOlapScan[time_dim]
+------------------------filter((household_demographics.hd_dep_count = 6))
+--------------------------PhysicalOlapScan[household_demographics]
 ------------------PhysicalProject
---------------------filter((household_demographics.hd_dep_count = 6))
-----------------------PhysicalOlapScan[household_demographics]
+--------------------filter((web_page.wp_char_count <= 5200) and 
(web_page.wp_char_count >= 5000))
+----------------------PhysicalOlapScan[web_page]
 
diff --git 
a/regression-test/data/new_shapes_p0/tpch_sf1000/runtime_filter/test_pushdown_setop.out
 
b/regression-test/data/new_shapes_p0/tpch_sf1000/runtime_filter/test_pushdown_setop.out
index f985d4c8aa1..ba4c37059cb 100644
--- 
a/regression-test/data/new_shapes_p0/tpch_sf1000/runtime_filter/test_pushdown_setop.out
+++ 
b/regression-test/data/new_shapes_p0/tpch_sf1000/runtime_filter/test_pushdown_setop.out
@@ -5,7 +5,7 @@ PhysicalResultSink
 ----PhysicalDistribute[DistributionSpecGather]
 ------hashAgg[LOCAL]
 --------PhysicalProject
-----------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((T.l_linenumber = 
expr_cast(r_regionkey as BIGINT))) otherCondition=() build RFs:RF0 
expr_cast(r_regionkey as BIGINT)->[cast(l_linenumber as BIGINT),o_orderkey]
+----------hashJoin[INNER_JOIN broadcast] hashCondition=((T.l_linenumber = 
expr_cast(r_regionkey as BIGINT))) otherCondition=() build RFs:RF0 
expr_cast(r_regionkey as BIGINT)->[cast(l_linenumber as BIGINT),o_orderkey]
 ------------PhysicalExcept
 --------------PhysicalDistribute[DistributionSpecHash]
 ----------------PhysicalProject


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

Reply via email to