You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by kx...@apache.org on 2023/11/09 15:30:46 UTC

(doris) branch branch-2.0 updated: [brach-2.0](pick)use 2 phase agg above union all #26245 (#26664)

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

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


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new b6ad626ef04 [brach-2.0](pick)use 2 phase agg above union all #26245 (#26664)
b6ad626ef04 is described below

commit b6ad626ef04e680838905fc0ee2c70b73e8e4c61
Author: minghong <en...@gmail.com>
AuthorDate: Thu Nov 9 23:30:40 2023 +0800

    [brach-2.0](pick)use 2 phase agg above union all #26245 (#26664)
---
 .../org/apache/doris/nereids/cost/CostModelV1.java |   7 +-
 .../properties/ChildrenPropertiesRegulator.java    |  10 +
 .../trees/plans/physical/PhysicalSetOperation.java |   4 +
 .../apache/doris/statistics/ColumnStatistic.java   |   4 +-
 .../shape/query1.out                               |  23 +--
 .../shape/query49.out                              |  89 +++++++++
 .../shape/query75.out                              |  81 ++++++++
 .../nereids_tpcds_shape_sf100_p0/shape/query1.out  |  13 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query49.out | 132 +++++++------
 .../nereids_tpcds_shape_sf100_p0/shape/query75.out |  90 ++++-----
 .../nereids_p0/aggregate/agg_union_random.groovy   |  54 +++++
 .../nereids_tpcds_shape_sf100_p0/ddl/rf.tmpl       |   8 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf1.groovy  | 157 +++++++--------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf10.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf11.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf12.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf14.groovy |   8 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf15.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf16.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy | 197 +++++++++---------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf18.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf19.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf2.groovy  |   8 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf20.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf21.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf22.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf23.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf24.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy | 203 +++++++++----------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf26.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf27.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf28.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy | 201 +++++++++----------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf3.groovy  | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf30.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf31.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf32.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf33.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf34.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf35.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf36.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf37.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf38.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf39.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf4.groovy  |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy | 163 +++++++--------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf41.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf42.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf43.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf44.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf45.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf46.groovy | 113 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf47.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf48.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf49.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy  |  11 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf50.groovy | 113 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf51.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf52.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf53.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf54.groovy | 220 ++++++++++-----------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf55.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf57.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf58.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy | 195 +++++++++---------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf6.groovy  | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf60.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy | 196 +++++++++---------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf62.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf63.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf64.groovy |   8 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf65.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf66.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf67.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf68.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf69.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf7.groovy  | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf70.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf71.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy | 166 ++++++++--------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf73.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf74.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf75.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf76.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf77.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf78.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf79.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf8.groovy  | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf80.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf81.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf82.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf83.groovy |  10 +-
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf84.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf85.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf86.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf87.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf88.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf89.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf9.groovy  | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf90.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf91.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf92.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf93.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf94.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf95.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf96.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf97.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf98.groovy | 114 +++++------
 .../nereids_tpcds_shape_sf100_p0/rf/ds_rf99.groovy | 113 +++++------
 tools/tpcds-tools/queries/sf100/query1.sql         |  22 +++
 tools/tpcds-tools/queries/sf100/query10.sql        |  56 ++++++
 .../tpcds-tools/queries/sf100/query11.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query12.sql        |  31 +++
 tools/tpcds-tools/queries/sf100/query13.sql        |  49 +++++
 tools/tpcds-tools/queries/sf100/query14.sql        | 207 +++++++++++++++++++
 tools/tpcds-tools/queries/sf100/query15.sql        |  17 ++
 tools/tpcds-tools/queries/sf100/query16.sql        |  28 +++
 tools/tpcds-tools/queries/sf100/query17.sql        |  42 ++++
 tools/tpcds-tools/queries/sf100/query18.sql        |  31 +++
 tools/tpcds-tools/queries/sf100/query19.sql        |  22 +++
 tools/tpcds-tools/queries/sf100/query2.sql         |  57 ++++++
 tools/tpcds-tools/queries/sf100/query20.sql        |  27 +++
 tools/tpcds-tools/queries/sf100/query21.sql        |  27 +++
 tools/tpcds-tools/queries/sf100/query22.sql        |  17 ++
 tools/tpcds-tools/queries/sf100/query23.sql        | 104 ++++++++++
 tools/tpcds-tools/queries/sf100/query24.sql        | 104 ++++++++++
 tools/tpcds-tools/queries/sf100/query25.sql        |  45 +++++
 tools/tpcds-tools/queries/sf100/query26.sql        |  18 ++
 tools/tpcds-tools/queries/sf100/query27.sql        |  20 ++
 .../tpcds-tools/queries/sf100/query28.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query29.sql        |  44 +++++
 tools/tpcds-tools/queries/sf100/query3.sql         |  18 ++
 tools/tpcds-tools/queries/sf100/query30.sql        |  28 +++
 tools/tpcds-tools/queries/sf100/query31.sql        |  49 +++++
 tools/tpcds-tools/queries/sf100/query32.sql        |  25 +++
 tools/tpcds-tools/queries/sf100/query33.sql        |  72 +++++++
 tools/tpcds-tools/queries/sf100/query34.sql        |  28 +++
 tools/tpcds-tools/queries/sf100/query35.sql        |  55 ++++++
 tools/tpcds-tools/queries/sf100/query36.sql        |  27 +++
 tools/tpcds-tools/queries/sf100/query37.sql        |  14 ++
 tools/tpcds-tools/queries/sf100/query38.sql        |  20 ++
 tools/tpcds-tools/queries/sf100/query39.sql        |  50 +++++
 .../tpcds-tools/queries/sf100/query4.sql           |  59 +-----
 tools/tpcds-tools/queries/sf100/query40.sql        |  25 +++
 tools/tpcds-tools/queries/sf100/query41.sql        |  49 +++++
 tools/tpcds-tools/queries/sf100/query42.sql        |  19 ++
 tools/tpcds-tools/queries/sf100/query43.sql        |  16 ++
 tools/tpcds-tools/queries/sf100/query44.sql        |  32 +++
 tools/tpcds-tools/queries/sf100/query45.sql        |  17 ++
 tools/tpcds-tools/queries/sf100/query46.sql        |  32 +++
 tools/tpcds-tools/queries/sf100/query47.sql        |  48 +++++
 tools/tpcds-tools/queries/sf100/query48.sql        |  64 ++++++
 .../tpcds-tools/queries/sf100/query49.sql          |  59 +-----
 .../tpcds-tools/queries/sf100/query5.sql           |  58 +-----
 tools/tpcds-tools/queries/sf100/query50.sql        |  56 ++++++
 tools/tpcds-tools/queries/sf100/query51.sql        |  42 ++++
 tools/tpcds-tools/queries/sf100/query52.sql        |  19 ++
 tools/tpcds-tools/queries/sf100/query53.sql        |  25 +++
 tools/tpcds-tools/queries/sf100/query54.sql        |  53 +++++
 tools/tpcds-tools/queries/sf100/query55.sql        |  11 ++
 tools/tpcds-tools/queries/sf100/query56.sql        |  66 +++++++
 tools/tpcds-tools/queries/sf100/query57.sql        |  45 +++++
 tools/tpcds-tools/queries/sf100/query58.sql        |  62 ++++++
 tools/tpcds-tools/queries/sf100/query59.sql        |  41 ++++
 tools/tpcds-tools/queries/sf100/query6.sql         |  23 +++
 tools/tpcds-tools/queries/sf100/query60.sql        |  75 +++++++
 tools/tpcds-tools/queries/sf100/query61.sql        |  41 ++++
 tools/tpcds-tools/queries/sf100/query62.sql        |  32 +++
 tools/tpcds-tools/queries/sf100/query63.sql        |  26 +++
 .../tpcds-tools/queries/sf100/query64.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query65.sql        |  26 +++
 .../tpcds-tools/queries/sf100/query66.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query67.sql        |  41 ++++
 tools/tpcds-tools/queries/sf100/query68.sql        |  39 ++++
 tools/tpcds-tools/queries/sf100/query69.sql        |  44 +++++
 tools/tpcds-tools/queries/sf100/query7.sql         |  18 ++
 tools/tpcds-tools/queries/sf100/query70.sql        |  35 ++++
 tools/tpcds-tools/queries/sf100/query71.sql        |  37 ++++
 tools/tpcds-tools/queries/sf100/query72.sql        |  28 +++
 tools/tpcds-tools/queries/sf100/query73.sql        |  25 +++
 tools/tpcds-tools/queries/sf100/query74.sql        |  58 ++++++
 .../tpcds-tools/queries/sf100/query75.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query76.sql        |  21 ++
 .../tpcds-tools/queries/sf100/query77.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query78.sql        |  55 ++++++
 tools/tpcds-tools/queries/sf100/query79.sql        |  20 ++
 .../tpcds-tools/queries/sf100/query8.sql           |  59 +-----
 .../tpcds-tools/queries/sf100/query80.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query81.sql        |  28 +++
 tools/tpcds-tools/queries/sf100/query82.sql        |  14 ++
 tools/tpcds-tools/queries/sf100/query83.sql        |  64 ++++++
 tools/tpcds-tools/queries/sf100/query84.sql        |  18 ++
 tools/tpcds-tools/queries/sf100/query85.sql        |  81 ++++++++
 tools/tpcds-tools/queries/sf100/query86.sql        |  23 +++
 tools/tpcds-tools/queries/sf100/query87.sql        |  20 ++
 .../tpcds-tools/queries/sf100/query88.sql          |  59 +-----
 tools/tpcds-tools/queries/sf100/query89.sql        |  25 +++
 tools/tpcds-tools/queries/sf100/query9.sql         |  48 +++++
 tools/tpcds-tools/queries/sf100/query90.sql        |  19 ++
 tools/tpcds-tools/queries/sf100/query91.sql        |  28 +++
 tools/tpcds-tools/queries/sf100/query92.sql        |  27 +++
 tools/tpcds-tools/queries/sf100/query93.sql        |  15 ++
 tools/tpcds-tools/queries/sf100/query94.sql        |  26 +++
 tools/tpcds-tools/queries/sf100/query95.sql        |  29 +++
 tools/tpcds-tools/queries/sf100/query96.sql        |  13 ++
 tools/tpcds-tools/queries/sf100/query97.sql        |  22 +++
 tools/tpcds-tools/queries/sf100/query98.sql        |  30 +++
 tools/tpcds-tools/queries/sf100/query99.sql        |  32 +++
 210 files changed, 9031 insertions(+), 6175 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostModelV1.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostModelV1.java
index aa8f4d6cc7c..fb8d2b9f921 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostModelV1.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostModelV1.java
@@ -67,7 +67,8 @@ class CostModelV1 extends PlanVisitor<Cost, PlanContext> {
     // the penalty factor is no more than BROADCAST_JOIN_SKEW_PENALTY_LIMIT
     static final double BROADCAST_JOIN_SKEW_RATIO = 30.0;
     static final double BROADCAST_JOIN_SKEW_PENALTY_LIMIT = 2.0;
-    private int beNumber = 1;
+    static final double RANDOM_SHUFFLE_TO_HASH_SHUFFLE_FACTOR = 0.1;
+    private final int beNumber;
 
     public CostModelV1() {
         if (ConnectContext.get().getSessionVariable().isPlayNereidsDump()) {
@@ -236,9 +237,9 @@ class CostModelV1 extends PlanVisitor<Cost, PlanContext> {
 
         // any
         return CostV1.of(
-                intputRowCount,
                 0,
-                0);
+                0,
+                intputRowCount * childStatistics.dataSizeFactor() * RANDOM_SHUFFLE_TO_HASH_SHUFFLE_FACTOR / beNumber);
     }
 
     @Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
index a3a91880c51..e969e7e878b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
@@ -40,6 +40,7 @@ import org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin;
 import org.apache.doris.nereids.trees.plans.physical.PhysicalNestedLoopJoin;
 import org.apache.doris.nereids.trees.plans.physical.PhysicalProject;
 import org.apache.doris.nereids.trees.plans.physical.PhysicalSetOperation;
+import org.apache.doris.nereids.trees.plans.physical.PhysicalUnion;
 import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor;
 import org.apache.doris.nereids.util.JoinUtils;
 
@@ -114,6 +115,15 @@ public class ChildrenPropertiesRegulator extends PlanVisitor<Boolean, Void> {
                 && children.get(0).getPlan() instanceof PhysicalDistribute) {
             return false;
         }
+
+        // agg(group by x)-union all(A, B)
+        // no matter x.ndv is high or not, it is not worthwhile to shuffle A and B by x
+        // and hence we forbid one phase agg
+        if (agg.getAggMode() == AggMode.INPUT_TO_RESULT
+                && children.get(0).getPlan() instanceof PhysicalUnion
+                && !((PhysicalUnion) children.get(0).getPlan()).isDistinct()) {
+            return false;
+        }
         // forbid multi distinct opt that bad than multi-stage version when multi-stage can be executed in one fragment
         if (agg.getAggMode() == AggMode.INPUT_TO_BUFFER || agg.getAggMode() == AggMode.INPUT_TO_RESULT) {
             List<MultiDistinction> multiDistinctions = agg.getOutputExpressions().stream()
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
index b9358c5e205..07326a8afb4 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
@@ -143,4 +143,8 @@ public abstract class PhysicalSetOperation extends AbstractPhysicalPlan implemen
                 .map(NamedExpression::toSlot)
                 .collect(ImmutableList.toImmutableList());
     }
+
+    public boolean isDistinct() {
+        return qualifier == Qualifier.DISTINCT;
+    }
 }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
index 82e0efdac17..1ec22cbc47b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
@@ -40,7 +40,7 @@ import java.util.Set;
 public class ColumnStatistic {
 
     public static final double STATS_ERROR = 0.1D;
-
+    public static final double ALMOST_UNIQUE_FACTOR = 0.9;
     public static final StatsType NDV = StatsType.NDV;
     public static final StatsType AVG_SIZE = StatsType.AVG_SIZE;
     public static final StatsType MAX_SIZE = StatsType.MAX_SIZE;
@@ -211,7 +211,7 @@ public class ColumnStatistic {
     }
 
     public static boolean isAlmostUnique(double ndv, double rowCount) {
-        return rowCount * 0.9 < ndv && ndv < rowCount * 1.1;
+        return rowCount * ALMOST_UNIQUE_FACTOR < ndv;
     }
 
     public ColumnStatistic updateByLimit(long limit, double rowCount) {
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query1.out
similarity index 53%
copy from regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out
copy to regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query1.out
index d872d6969a8..50d0c4bce67 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query1.out
@@ -7,7 +7,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 --------PhysicalDistribute
 ----------hashAgg[LOCAL]
 ------------PhysicalProject
---------------hashJoin[INNER_JOIN](store_returns.sr_returned_date_sk = date_dim.d_date_sk)
+--------------hashJoin[INNER_JOIN] hashCondition=((store_returns.sr_returned_date_sk = date_dim.d_date_sk))otherCondition=()
 ----------------PhysicalProject
 ------------------PhysicalOlapScan[store_returns]
 ----------------PhysicalDistribute
@@ -19,24 +19,25 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------PhysicalDistribute
 --------PhysicalTopN
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN](ctr1.ctr_customer_sk = customer.c_customer_sk)
+------------hashJoin[INNER_JOIN] hashCondition=((ctr1.ctr_customer_sk = customer.c_customer_sk))otherCondition=()
 --------------PhysicalDistribute
 ----------------PhysicalProject
 ------------------PhysicalOlapScan[customer]
 --------------PhysicalDistribute
-----------------hashJoin[INNER_JOIN](ctr1.ctr_store_sk = ctr2.ctr_store_sk)(cast(ctr_total_return as DOUBLE) > cast((avg(cast(ctr_total_return as DECIMALV3(38, 4))) * 1.2) as DOUBLE))
+----------------hashJoin[INNER_JOIN] hashCondition=((ctr1.ctr_store_sk = ctr2.ctr_store_sk))otherCondition=((cast(ctr_total_return as DOUBLE) > cast((avg(cast(ctr_total_return as DECIMALV3(38, 4))) * 1.2) as DOUBLE)))
 ------------------PhysicalProject
---------------------hashJoin[INNER_JOIN](store.s_store_sk = ctr1.ctr_store_sk)
+--------------------hashJoin[INNER_JOIN] hashCondition=((store.s_store_sk = ctr1.ctr_store_sk))otherCondition=()
 ----------------------PhysicalDistribute
 ------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
 ----------------------PhysicalDistribute
 ------------------------PhysicalProject
---------------------------filter((store.s_state = 'SD'))
+--------------------------filter((store.s_state = 'TN'))
 ----------------------------PhysicalOlapScan[store]
-------------------hashAgg[GLOBAL]
---------------------PhysicalDistribute
-----------------------hashAgg[LOCAL]
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+------------------PhysicalDistribute
+--------------------hashAgg[GLOBAL]
+----------------------PhysicalDistribute
+------------------------hashAgg[LOCAL]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
 
diff --git a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query49.out b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query49.out
new file mode 100644
index 00000000000..a8ab13bb0f8
--- /dev/null
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query49.out
@@ -0,0 +1,89 @@
+-- This file is automatically generated. You should know what you did if you want to edit this
+-- !ds_shape_49 --
+PhysicalResultSink
+--PhysicalTopN
+----PhysicalDistribute
+------PhysicalTopN
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalUnion
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
+----------------------PhysicalWindow
+------------------------PhysicalQuickSort
+--------------------------PhysicalWindow
+----------------------------PhysicalQuickSort
+------------------------------PhysicalDistribute
+--------------------------------PhysicalQuickSort
+----------------------------------PhysicalProject
+------------------------------------hashAgg[GLOBAL]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashAgg[LOCAL]
+------------------------------------------PhysicalProject
+--------------------------------------------hashJoin[INNER_JOIN] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number))otherCondition=()
+----------------------------------------------PhysicalProject
+------------------------------------------------filter((wr.wr_return_amt > 10000.00))
+--------------------------------------------------PhysicalOlapScan[web_returns]
+----------------------------------------------hashJoin[INNER_JOIN] hashCondition=((ws.ws_sold_date_sk = date_dim.d_date_sk))otherCondition=()
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0))
+----------------------------------------------------PhysicalOlapScan[web_sales]
+------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalProject
+----------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998))
+------------------------------------------------------PhysicalOlapScan[date_dim]
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
+----------------------PhysicalWindow
+------------------------PhysicalQuickSort
+--------------------------PhysicalWindow
+----------------------------PhysicalQuickSort
+------------------------------PhysicalDistribute
+--------------------------------PhysicalQuickSort
+----------------------------------PhysicalProject
+------------------------------------hashAgg[GLOBAL]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashAgg[LOCAL]
+------------------------------------------PhysicalProject
+--------------------------------------------hashJoin[INNER_JOIN] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number))otherCondition=()
+----------------------------------------------PhysicalProject
+------------------------------------------------filter((cr.cr_return_amount > 10000.00))
+--------------------------------------------------PhysicalOlapScan[catalog_returns]
+----------------------------------------------hashJoin[INNER_JOIN] hashCondition=((cs.cs_sold_date_sk = date_dim.d_date_sk))otherCondition=()
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0))
+----------------------------------------------------PhysicalOlapScan[catalog_sales]
+------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalProject
+----------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998))
+------------------------------------------------------PhysicalOlapScan[date_dim]
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
+----------------------PhysicalWindow
+------------------------PhysicalQuickSort
+--------------------------PhysicalWindow
+----------------------------PhysicalQuickSort
+------------------------------PhysicalDistribute
+--------------------------------PhysicalQuickSort
+----------------------------------PhysicalProject
+------------------------------------hashAgg[GLOBAL]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashAgg[LOCAL]
+------------------------------------------PhysicalProject
+--------------------------------------------hashJoin[INNER_JOIN] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number))otherCondition=()
+----------------------------------------------PhysicalProject
+------------------------------------------------filter((sr.sr_return_amt > 10000.00))
+--------------------------------------------------PhysicalOlapScan[store_returns]
+----------------------------------------------hashJoin[INNER_JOIN] hashCondition=((sts.ss_sold_date_sk = date_dim.d_date_sk))otherCondition=()
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0))
+----------------------------------------------------PhysicalOlapScan[store_sales]
+------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalProject
+----------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998))
+------------------------------------------------------PhysicalOlapScan[date_dim]
+
diff --git a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query75.out b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query75.out
new file mode 100644
index 00000000000..fb9d10e30ff
--- /dev/null
+++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query75.out
@@ -0,0 +1,81 @@
+-- This file is automatically generated. You should know what you did if you want to edit this
+-- !ds_shape_75 --
+PhysicalCteAnchor ( cteId=CTEId#0 )
+--PhysicalCteProducer ( cteId=CTEId#0 )
+----hashAgg[GLOBAL]
+------PhysicalDistribute
+--------hashAgg[LOCAL]
+----------hashAgg[GLOBAL]
+------------PhysicalDistribute
+--------------hashAgg[LOCAL]
+----------------PhysicalUnion
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((catalog_sales.cs_item_sk = catalog_returns.cr_item_sk) and (catalog_sales.cs_order_number = catalog_returns.cr_order_number))otherCondition=()
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[catalog_returns]
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = catalog_sales.cs_sold_date_sk))otherCondition=()
+----------------------------PhysicalProject
+------------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = catalog_sales.cs_item_sk))otherCondition=()
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[catalog_sales]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((item.i_category = 'Sports'))
+--------------------------------------PhysicalOlapScan[item]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter(d_year IN (2001, 2002))
+----------------------------------PhysicalOlapScan[date_dim]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and (store_sales.ss_ticket_number = store_returns.sr_ticket_number))otherCondition=()
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[store_returns]
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = store_sales.ss_sold_date_sk))otherCondition=()
+----------------------------PhysicalProject
+------------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = store_sales.ss_item_sk))otherCondition=()
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[store_sales]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((item.i_category = 'Sports'))
+--------------------------------------PhysicalOlapScan[item]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter(d_year IN (2001, 2002))
+----------------------------------PhysicalOlapScan[date_dim]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((web_sales.ws_item_sk = web_returns.wr_item_sk) and (web_sales.ws_order_number = web_returns.wr_order_number))otherCondition=()
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[web_returns]
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN] hashCondition=((date_dim.d_date_sk = web_sales.ws_sold_date_sk))otherCondition=()
+----------------------------PhysicalProject
+------------------------------hashJoin[INNER_JOIN] hashCondition=((item.i_item_sk = web_sales.ws_item_sk))otherCondition=()
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[web_sales]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((item.i_category = 'Sports'))
+--------------------------------------PhysicalOlapScan[item]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter(d_year IN (2001, 2002))
+----------------------------------PhysicalOlapScan[date_dim]
+--PhysicalResultSink
+----PhysicalTopN
+------PhysicalDistribute
+--------PhysicalTopN
+----------PhysicalProject
+------------hashJoin[INNER_JOIN] hashCondition=((curr_yr.i_brand_id = prev_yr.i_brand_id) and (curr_yr.i_category_id = prev_yr.i_category_id) and (curr_yr.i_class_id = prev_yr.i_class_id) and (curr_yr.i_manufact_id = prev_yr.i_manufact_id))otherCondition=(((cast(cast(sales_cnt as DECIMALV3(17, 2)) as DECIMALV3(23, 8)) / cast(sales_cnt as DECIMALV3(17, 2))) < 0.900000))
+--------------PhysicalDistribute
+----------------filter((curr_yr.d_year = 2002))
+------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+--------------PhysicalDistribute
+----------------filter((prev_yr.d_year = 2001))
+------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out
index d872d6969a8..700186ae78d 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query1.out
@@ -33,10 +33,11 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------------------------PhysicalProject
 --------------------------filter((store.s_state = 'SD'))
 ----------------------------PhysicalOlapScan[store]
-------------------hashAgg[GLOBAL]
---------------------PhysicalDistribute
-----------------------hashAgg[LOCAL]
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
+------------------PhysicalDistribute
+--------------------hashAgg[GLOBAL]
+----------------------PhysicalDistribute
+------------------------hashAgg[LOCAL]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------PhysicalCteConsumer ( cteId=CTEId#0 )
 
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query49.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query49.out
index e1b6cfabc3a..28874b40f53 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query49.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query49.out
@@ -4,84 +4,86 @@ PhysicalResultSink
 --PhysicalTopN
 ----PhysicalDistribute
 ------PhysicalTopN
---------hashAgg[LOCAL]
-----------PhysicalUnion
-------------PhysicalDistribute
---------------PhysicalProject
-----------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
-------------------PhysicalWindow
---------------------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalUnion
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
 ----------------------PhysicalWindow
 ------------------------PhysicalQuickSort
---------------------------PhysicalDistribute
+--------------------------PhysicalWindow
 ----------------------------PhysicalQuickSort
-------------------------------PhysicalProject
---------------------------------hashAgg[GLOBAL]
-----------------------------------PhysicalDistribute
-------------------------------------hashAgg[LOCAL]
---------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN](ws.ws_item_sk = wr.wr_item_sk)(ws.ws_order_number = wr.wr_order_number)
+------------------------------PhysicalDistribute
+--------------------------------PhysicalQuickSort
+----------------------------------PhysicalProject
+------------------------------------hashAgg[GLOBAL]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashAgg[LOCAL]
 ------------------------------------------PhysicalProject
---------------------------------------------filter((wr.wr_return_amt > 10000.00))
-----------------------------------------------PhysicalOlapScan[web_returns]
-------------------------------------------hashJoin[INNER_JOIN](ws.ws_sold_date_sk = date_dim.d_date_sk)
---------------------------------------------PhysicalProject
-----------------------------------------------filter((ws.ws_net_paid > 0.00)(ws.ws_quantity > 0)(ws.ws_net_profit > 1.00))
-------------------------------------------------PhysicalOlapScan[web_sales]
---------------------------------------------PhysicalDistribute
+--------------------------------------------hashJoin[INNER_JOIN](ws.ws_item_sk = wr.wr_item_sk)(ws.ws_order_number = wr.wr_order_number)
 ----------------------------------------------PhysicalProject
-------------------------------------------------filter((date_dim.d_moy = 12)(date_dim.d_year = 1999))
---------------------------------------------------PhysicalOlapScan[date_dim]
-------------PhysicalDistribute
---------------PhysicalProject
-----------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
-------------------PhysicalWindow
---------------------PhysicalQuickSort
+------------------------------------------------filter((wr.wr_return_amt > 10000.00))
+--------------------------------------------------PhysicalOlapScan[web_returns]
+----------------------------------------------hashJoin[INNER_JOIN](ws.ws_sold_date_sk = date_dim.d_date_sk)
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((ws.ws_net_paid > 0.00)(ws.ws_quantity > 0)(ws.ws_net_profit > 1.00))
+----------------------------------------------------PhysicalOlapScan[web_sales]
+------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalProject
+----------------------------------------------------filter((date_dim.d_moy = 12)(date_dim.d_year = 1999))
+------------------------------------------------------PhysicalOlapScan[date_dim]
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
 ----------------------PhysicalWindow
 ------------------------PhysicalQuickSort
---------------------------PhysicalDistribute
+--------------------------PhysicalWindow
 ----------------------------PhysicalQuickSort
-------------------------------PhysicalProject
---------------------------------hashAgg[GLOBAL]
-----------------------------------PhysicalDistribute
-------------------------------------hashAgg[LOCAL]
---------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN](cs.cs_item_sk = cr.cr_item_sk)(cs.cs_order_number = cr.cr_order_number)
+------------------------------PhysicalDistribute
+--------------------------------PhysicalQuickSort
+----------------------------------PhysicalProject
+------------------------------------hashAgg[GLOBAL]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashAgg[LOCAL]
 ------------------------------------------PhysicalProject
---------------------------------------------filter((cr.cr_return_amount > 10000.00))
-----------------------------------------------PhysicalOlapScan[catalog_returns]
-------------------------------------------hashJoin[INNER_JOIN](cs.cs_sold_date_sk = date_dim.d_date_sk)
---------------------------------------------PhysicalProject
-----------------------------------------------filter((cs.cs_net_paid > 0.00)(cs.cs_quantity > 0)(cs.cs_net_profit > 1.00))
-------------------------------------------------PhysicalOlapScan[catalog_sales]
---------------------------------------------PhysicalDistribute
+--------------------------------------------hashJoin[INNER_JOIN](cs.cs_item_sk = cr.cr_item_sk)(cs.cs_order_number = cr.cr_order_number)
 ----------------------------------------------PhysicalProject
-------------------------------------------------filter((date_dim.d_moy = 12)(date_dim.d_year = 1999))
---------------------------------------------------PhysicalOlapScan[date_dim]
-------------PhysicalDistribute
---------------PhysicalProject
-----------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
-------------------PhysicalWindow
---------------------PhysicalQuickSort
+------------------------------------------------filter((cr.cr_return_amount > 10000.00))
+--------------------------------------------------PhysicalOlapScan[catalog_returns]
+----------------------------------------------hashJoin[INNER_JOIN](cs.cs_sold_date_sk = date_dim.d_date_sk)
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((cs.cs_net_paid > 0.00)(cs.cs_quantity > 0)(cs.cs_net_profit > 1.00))
+----------------------------------------------------PhysicalOlapScan[catalog_sales]
+------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalProject
+----------------------------------------------------filter((date_dim.d_moy = 12)(date_dim.d_year = 1999))
+------------------------------------------------------PhysicalOlapScan[date_dim]
+----------------PhysicalDistribute
+------------------PhysicalProject
+--------------------filter(((return_rank <= 10) OR (currency_rank <= 10)))
 ----------------------PhysicalWindow
 ------------------------PhysicalQuickSort
---------------------------PhysicalDistribute
+--------------------------PhysicalWindow
 ----------------------------PhysicalQuickSort
-------------------------------PhysicalProject
---------------------------------hashAgg[GLOBAL]
-----------------------------------PhysicalDistribute
-------------------------------------hashAgg[LOCAL]
---------------------------------------PhysicalProject
-----------------------------------------hashJoin[INNER_JOIN](sts.ss_item_sk = sr.sr_item_sk)(sts.ss_ticket_number = sr.sr_ticket_number)
+------------------------------PhysicalDistribute
+--------------------------------PhysicalQuickSort
+----------------------------------PhysicalProject
+------------------------------------hashAgg[GLOBAL]
+--------------------------------------PhysicalDistribute
+----------------------------------------hashAgg[LOCAL]
 ------------------------------------------PhysicalProject
---------------------------------------------filter((sr.sr_return_amt > 10000.00))
-----------------------------------------------PhysicalOlapScan[store_returns]
-------------------------------------------hashJoin[INNER_JOIN](sts.ss_sold_date_sk = date_dim.d_date_sk)
---------------------------------------------PhysicalProject
-----------------------------------------------filter((sts.ss_quantity > 0)(sts.ss_net_profit > 1.00)(sts.ss_net_paid > 0.00))
-------------------------------------------------PhysicalOlapScan[store_sales]
---------------------------------------------PhysicalDistribute
+--------------------------------------------hashJoin[INNER_JOIN](sts.ss_item_sk = sr.sr_item_sk)(sts.ss_ticket_number = sr.sr_ticket_number)
 ----------------------------------------------PhysicalProject
-------------------------------------------------filter((date_dim.d_moy = 12)(date_dim.d_year = 1999))
---------------------------------------------------PhysicalOlapScan[date_dim]
+------------------------------------------------filter((sr.sr_return_amt > 10000.00))
+--------------------------------------------------PhysicalOlapScan[store_returns]
+----------------------------------------------hashJoin[INNER_JOIN](sts.ss_sold_date_sk = date_dim.d_date_sk)
+------------------------------------------------PhysicalProject
+--------------------------------------------------filter((sts.ss_quantity > 0)(sts.ss_net_profit > 1.00)(sts.ss_net_paid > 0.00))
+----------------------------------------------------PhysicalOlapScan[store_sales]
+------------------------------------------------PhysicalDistribute
+--------------------------------------------------PhysicalProject
+----------------------------------------------------filter((date_dim.d_moy = 12)(date_dim.d_year = 1999))
+------------------------------------------------------PhysicalOlapScan[date_dim]
 
diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query75.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query75.out
index 59b860b0f73..309cabc9553 100644
--- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query75.out
+++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query75.out
@@ -5,65 +5,67 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ----hashAgg[GLOBAL]
 ------PhysicalDistribute
 --------hashAgg[LOCAL]
-----------hashAgg[LOCAL]
-------------PhysicalUnion
---------------PhysicalDistribute
-----------------PhysicalProject
-------------------hashJoin[RIGHT_OUTER_JOIN](catalog_sales.cs_item_sk = catalog_returns.cr_item_sk)(catalog_sales.cs_order_number = catalog_returns.cr_order_number)
---------------------PhysicalProject
-----------------------PhysicalOlapScan[catalog_returns]
+----------hashAgg[GLOBAL]
+------------PhysicalDistribute
+--------------hashAgg[LOCAL]
+----------------PhysicalUnion
+------------------PhysicalDistribute
 --------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN](date_dim.d_date_sk = catalog_sales.cs_sold_date_sk)
+----------------------hashJoin[RIGHT_OUTER_JOIN](catalog_sales.cs_item_sk = catalog_returns.cr_item_sk)(catalog_sales.cs_order_number = catalog_returns.cr_order_number)
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[catalog_returns]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN](item.i_item_sk = catalog_sales.cs_item_sk)
+--------------------------hashJoin[INNER_JOIN](date_dim.d_date_sk = catalog_sales.cs_sold_date_sk)
 ----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[catalog_sales]
+------------------------------hashJoin[INNER_JOIN](item.i_item_sk = catalog_sales.cs_item_sk)
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[catalog_sales]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((item.i_category = 'Home'))
+--------------------------------------PhysicalOlapScan[item]
 ----------------------------PhysicalDistribute
 ------------------------------PhysicalProject
---------------------------------filter((item.i_category = 'Home'))
-----------------------------------PhysicalOlapScan[item]
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------filter(d_year IN (1998, 1999))
-------------------------------PhysicalOlapScan[date_dim]
---------------PhysicalDistribute
-----------------PhysicalProject
-------------------hashJoin[RIGHT_OUTER_JOIN](store_sales.ss_item_sk = store_returns.sr_item_sk)(store_sales.ss_ticket_number = store_returns.sr_ticket_number)
---------------------PhysicalProject
-----------------------PhysicalOlapScan[store_returns]
+--------------------------------filter(d_year IN (1998, 1999))
+----------------------------------PhysicalOlapScan[date_dim]
+------------------PhysicalDistribute
 --------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN](date_dim.d_date_sk = store_sales.ss_sold_date_sk)
+----------------------hashJoin[RIGHT_OUTER_JOIN](store_sales.ss_item_sk = store_returns.sr_item_sk)(store_sales.ss_ticket_number = store_returns.sr_ticket_number)
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN](item.i_item_sk = store_sales.ss_item_sk)
+--------------------------PhysicalOlapScan[store_returns]
+------------------------PhysicalProject
+--------------------------hashJoin[INNER_JOIN](date_dim.d_date_sk = store_sales.ss_sold_date_sk)
 ----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[store_sales]
+------------------------------hashJoin[INNER_JOIN](item.i_item_sk = store_sales.ss_item_sk)
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[store_sales]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((item.i_category = 'Home'))
+--------------------------------------PhysicalOlapScan[item]
 ----------------------------PhysicalDistribute
 ------------------------------PhysicalProject
---------------------------------filter((item.i_category = 'Home'))
-----------------------------------PhysicalOlapScan[item]
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------filter(d_year IN (1998, 1999))
-------------------------------PhysicalOlapScan[date_dim]
---------------PhysicalDistribute
-----------------PhysicalProject
-------------------hashJoin[RIGHT_OUTER_JOIN](web_sales.ws_item_sk = web_returns.wr_item_sk)(web_sales.ws_order_number = web_returns.wr_order_number)
+--------------------------------filter(d_year IN (1998, 1999))
+----------------------------------PhysicalOlapScan[date_dim]
+------------------PhysicalDistribute
 --------------------PhysicalProject
-----------------------PhysicalOlapScan[web_returns]
---------------------PhysicalProject
-----------------------hashJoin[INNER_JOIN](date_dim.d_date_sk = web_sales.ws_sold_date_sk)
+----------------------hashJoin[RIGHT_OUTER_JOIN](web_sales.ws_item_sk = web_returns.wr_item_sk)(web_sales.ws_order_number = web_returns.wr_order_number)
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[web_returns]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN](item.i_item_sk = web_sales.ws_item_sk)
+--------------------------hashJoin[INNER_JOIN](date_dim.d_date_sk = web_sales.ws_sold_date_sk)
 ----------------------------PhysicalProject
-------------------------------PhysicalOlapScan[web_sales]
+------------------------------hashJoin[INNER_JOIN](item.i_item_sk = web_sales.ws_item_sk)
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[web_sales]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((item.i_category = 'Home'))
+--------------------------------------PhysicalOlapScan[item]
 ----------------------------PhysicalDistribute
 ------------------------------PhysicalProject
---------------------------------filter((item.i_category = 'Home'))
-----------------------------------PhysicalOlapScan[item]
-------------------------PhysicalDistribute
---------------------------PhysicalProject
-----------------------------filter(d_year IN (1998, 1999))
-------------------------------PhysicalOlapScan[date_dim]
+--------------------------------filter(d_year IN (1998, 1999))
+----------------------------------PhysicalOlapScan[date_dim]
 --PhysicalResultSink
 ----PhysicalTopN
 ------PhysicalDistribute
diff --git a/regression-test/suites/nereids_p0/aggregate/agg_union_random.groovy b/regression-test/suites/nereids_p0/aggregate/agg_union_random.groovy
new file mode 100644
index 00000000000..f233c80dac6
--- /dev/null
+++ b/regression-test/suites/nereids_p0/aggregate/agg_union_random.groovy
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("agg_union_random") {
+    sql "SET enable_nereids_planner=true"
+    sql "SET enable_fallback_to_original_planner=false"
+    sql "DROP TABLE IF EXISTS test_random;"
+    sql """
+        create table test_random
+        (
+            a varchar(100) null,
+            b decimalv3(18,10) null
+        ) ENGINE=OLAP
+        DUPLICATE KEY(`a`)
+        DISTRIBUTED BY HASH(`a`) BUCKETS 1
+        PROPERTIES (
+        "replication_allocation" = "tag.location.default: 1"
+        );
+    """
+
+    explain{
+        sql "select a from (select * from test_random union all (select * from test_random))t group by a"
+            /**
+            STREAM DATA SINK
+                EXCHANGE ID: 258
+                RANDOM
+
+            252:VOlapScanNode
+                TABLE: default_cluster:regression_test_nereids_p0_aggregate.test_random(test_random), PREAGGREGATION: ON
+                partitions=0/1, tablets=0/0, tabletList=
+                cardinality=1, avgRowSize=0.0, numNodes=1
+                pushAggOp=NONE
+            **/
+        contains "RANDOM"
+    }
+
+    sql "DROP TABLE IF EXISTS test_random;"
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf.tmpl b/regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf.tmpl
index 068d9acb392..6bc8dfcc60f 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf.tmpl
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf.tmpl
@@ -49,9 +49,9 @@ suite("ds_rf{--}") {
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.{--}"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.{--}"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("{rfs}", getRuntimeFilters(plan))
+    assertEquals("{rfs}", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf1.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf1.groovy
index fc2efbaf960..dc35149c156 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf1.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf1.groovy
@@ -1,78 +1,79 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf1") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    with customer_total_return as
-(select sr_customer_sk as ctr_customer_sk
-,sr_store_sk as ctr_store_sk
-,sum(SR_FEE) as ctr_total_return
-from store_returns
-,date_dim
-where sr_returned_date_sk = d_date_sk
-and d_year =2000
-group by sr_customer_sk
-,sr_store_sk)
- select  c_customer_id
-from customer_total_return ctr1
-,store
-,customer
-where ctr1.ctr_total_return > (select avg(ctr_total_return)*1.2
-from customer_total_return ctr2
-where ctr1.ctr_store_sk = ctr2.ctr_store_sk)
-and s_store_sk = ctr1.ctr_store_sk
-and s_state = 'SD'
-and ctr1.ctr_customer_sk = c_customer_sk
-order by c_customer_id
-limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.1"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF0[d_date_sk->[sr_returned_date_sk],RF1[ctr_customer_sk->[c_customer_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf1") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    with customer_total_return as
+(select sr_customer_sk as ctr_customer_sk
+,sr_store_sk as ctr_store_sk
+,sum(SR_FEE) as ctr_total_return
+from store_returns
+,date_dim
+where sr_returned_date_sk = d_date_sk
+and d_year =2000
+group by sr_customer_sk
+,sr_store_sk)
+ select  c_customer_id
+from customer_total_return ctr1
+,store
+,customer
+where ctr1.ctr_total_return > (select avg(ctr_total_return)*1.2
+from customer_total_return ctr2
+where ctr1.ctr_store_sk = ctr2.ctr_store_sk)
+and s_store_sk = ctr1.ctr_store_sk
+and s_state = 'SD'
+and ctr1.ctr_customer_sk = c_customer_sk
+order by c_customer_id
+limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.1"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF0[d_date_sk->[sr_returned_date_sk],RF1[ctr_customer_sk->[c_customer_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf10.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf10.groovy
index 9bc4fd4c70c..fa147d01803 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf10.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf10.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf10") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf10") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
   cd_gender,
   cd_marital_status,
@@ -88,26 +88,26 @@ suite("ds_rf10") {
           cd_dep_employed_count,
           cd_dep_college_count
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.10"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF5[c_current_cdemo_sk->[cd_demo_sk],RF4[c_customer_sk->[ss_customer_sk],RF3[d_date_sk->[ss_sold_date_sk],RF2[ca_address_sk->[c_current_addr_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.10"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[c_current_cdemo_sk->[cd_demo_sk],RF4[c_customer_sk->[ss_customer_sk],RF3[d_date_sk->[ss_sold_date_sk],RF2[ca_address_sk->[c_current_addr_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf11.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf11.groovy
index c36b43a5ac4..85f3b22efb7 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf11.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf11.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf11") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf11") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with year_total as (
  select c_customer_id customer_id
        ,c_first_name customer_first_name
@@ -110,26 +110,26 @@ suite("ds_rf11") {
          ,t_s_secyear.customer_last_name
          ,t_s_secyear.customer_birth_country
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.11"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[ws_bill_customer_sk],RF2[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.11"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[ws_bill_customer_sk],RF2[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf12.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf12.groovy
index 35d5701519d..520e0789bc0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf12.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf12.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf12") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf12") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id
       ,i_item_desc 
       ,i_category 
@@ -63,26 +63,26 @@ order by
         ,i_item_desc
         ,revenueratio
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.12"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[i_item_sk->[ws_item_sk],RF0[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.12"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[i_item_sk->[ws_item_sk],RF0[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
index 2961139fa0d..a15edab93c2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf13.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf13") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf13") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select avg(ss_quantity)
        ,avg(ss_ext_sales_price)
        ,avg(ss_ext_wholesale_cost)
@@ -81,26 +81,26 @@ suite("ds_rf13") {
   and ss_net_profit between 50 and 250  
      ))
 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.13"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF4[ss_store_sk->[s_store_sk],RF3[ss_sold_date_sk->[d_date_sk],RF2[ss_cdemo_sk->[cd_demo_sk],RF1[ss_hdemo_sk->[hd_demo_sk],RF0[ca_address_sk->[ss_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.13"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF4[ss_store_sk->[s_store_sk],RF3[ss_cdemo_sk->[cd_demo_sk],RF2[hd_demo_sk->[ss_hdemo_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[ca_address_sk->[ss_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf14.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf14.groovy
index 503bbed8953..b226c03362d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf14.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf14.groovy
@@ -150,7 +150,9 @@ suite("ds_rf14") {
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.14"
-    // File file = new File(outFile)
-     assertEquals("RF3[i_item_sk->[ss_item_sk],RF2[d_date_sk->[ss_sold_date_sk],RF5[i_item_sk->[cs_item_sk],RF4[d_date_sk->[cs_sold_date_sk],RF7[i_item_sk->[ws_item_sk],RF6[d_date_sk->[ws_sold_date_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk],RF9[i_item_sk->[cs_item_sk],RF8[d_date_sk->[cs_sold_date_sk],RF11[i_item_sk->[ws_item_sk],RF10[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.14"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[i_item_sk->[ss_item_sk],RF2[d_date_sk->[ss_sold_date_sk],RF5[i_item_sk->[cs_item_sk],RF4[d_date_sk->[cs_sold_date_sk],RF7[i_item_sk->[ws_item_sk],RF6[d_date_sk->[ws_sold_date_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk],RF9[i_item_sk->[cs_item_sk],RF8[d_date_sk->[cs_sold_date_sk],RF11[i_item_sk->[ws_item_sk],RF10[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf15.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf15.groovy
index 94d432cef20..0699dd9b1f2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf15.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf15.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf15") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf15") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  ca_zip
        ,sum(cs_sales_price)
  from catalog_sales
@@ -49,26 +49,26 @@ suite("ds_rf15") {
  group by ca_zip
  order by ca_zip
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.15"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[c_customer_sk->[cs_bill_customer_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.15"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[c_customer_sk->[cs_bill_customer_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf16.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf16.groovy
index c0ac901f3d2..544d697eddf 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf16.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf16.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf16") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf16") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
    count(distinct cs_order_number) as "order count"
   ,sum(cs_ext_ship_cost) as "total shipping cost"
@@ -60,26 +60,26 @@ and not exists(select *
                where cs1.cs_order_number = cr1.cr_order_number)
 order by count(distinct cs_order_number)
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.16"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF4[d_date_sk->[cs_ship_date_sk],RF3[cs_order_number->[cs_order_number],RF2[cc_call_center_sk->[cs_call_center_sk],RF1[cs_order_number->[cr_order_number],RF0[ca_address_sk->[cs_ship_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.16"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF4[cs_order_number->[cs_order_number],RF3[cc_call_center_sk->[cs_call_center_sk],RF2[cs_order_number->[cr_order_number],RF1[d_date_sk->[cs_ship_date_sk],RF0[ca_address_sk->[cs_ship_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
index 970ba759adc..9c44c9ae637 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf17.groovy
@@ -1,98 +1,99 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf17") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    select  i_item_id
-       ,i_item_desc
-       ,s_state
-       ,count(ss_quantity) as store_sales_quantitycount
-       ,avg(ss_quantity) as store_sales_quantityave
-       ,stddev_samp(ss_quantity) as store_sales_quantitystdev
-       ,stddev_samp(ss_quantity)/avg(ss_quantity) as store_sales_quantitycov
-       ,count(sr_return_quantity) as store_returns_quantitycount
-       ,avg(sr_return_quantity) as store_returns_quantityave
-       ,stddev_samp(sr_return_quantity) as store_returns_quantitystdev
-       ,stddev_samp(sr_return_quantity)/avg(sr_return_quantity) as store_returns_quantitycov
-       ,count(cs_quantity) as catalog_sales_quantitycount ,avg(cs_quantity) as catalog_sales_quantityave
-       ,stddev_samp(cs_quantity) as catalog_sales_quantitystdev
-       ,stddev_samp(cs_quantity)/avg(cs_quantity) as catalog_sales_quantitycov
- from store_sales
-     ,store_returns
-     ,catalog_sales
-     ,date_dim d1
-     ,date_dim d2
-     ,date_dim d3
-     ,store
-     ,item
- where d1.d_quarter_name = '2001Q1'
-   and d1.d_date_sk = ss_sold_date_sk
-   and i_item_sk = ss_item_sk
-   and s_store_sk = ss_store_sk
-   and ss_customer_sk = sr_customer_sk
-   and ss_item_sk = sr_item_sk
-   and ss_ticket_number = sr_ticket_number
-   and sr_returned_date_sk = d2.d_date_sk
-   and d2.d_quarter_name in ('2001Q1','2001Q2','2001Q3')
-   and sr_customer_sk = cs_bill_customer_sk
-   and sr_item_sk = cs_item_sk
-   and cs_sold_date_sk = d3.d_date_sk
-   and d3.d_quarter_name in ('2001Q1','2001Q2','2001Q3')
- group by i_item_id
-         ,i_item_desc
-         ,s_state
- order by i_item_id
-         ,i_item_desc
-         ,s_state
-limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.17"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf17") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    select  i_item_id
+       ,i_item_desc
+       ,s_state
+       ,count(ss_quantity) as store_sales_quantitycount
+       ,avg(ss_quantity) as store_sales_quantityave
+       ,stddev_samp(ss_quantity) as store_sales_quantitystdev
+       ,stddev_samp(ss_quantity)/avg(ss_quantity) as store_sales_quantitycov
+       ,count(sr_return_quantity) as store_returns_quantitycount
+       ,avg(sr_return_quantity) as store_returns_quantityave
+       ,stddev_samp(sr_return_quantity) as store_returns_quantitystdev
+       ,stddev_samp(sr_return_quantity)/avg(sr_return_quantity) as store_returns_quantitycov
+       ,count(cs_quantity) as catalog_sales_quantitycount ,avg(cs_quantity) as catalog_sales_quantityave
+       ,stddev_samp(cs_quantity) as catalog_sales_quantitystdev
+       ,stddev_samp(cs_quantity)/avg(cs_quantity) as catalog_sales_quantitycov
+ from store_sales
+     ,store_returns
+     ,catalog_sales
+     ,date_dim d1
+     ,date_dim d2
+     ,date_dim d3
+     ,store
+     ,item
+ where d1.d_quarter_name = '2001Q1'
+   and d1.d_date_sk = ss_sold_date_sk
+   and i_item_sk = ss_item_sk
+   and s_store_sk = ss_store_sk
+   and ss_customer_sk = sr_customer_sk
+   and ss_item_sk = sr_item_sk
+   and ss_ticket_number = sr_ticket_number
+   and sr_returned_date_sk = d2.d_date_sk
+   and d2.d_quarter_name in ('2001Q1','2001Q2','2001Q3')
+   and sr_customer_sk = cs_bill_customer_sk
+   and sr_item_sk = cs_item_sk
+   and cs_sold_date_sk = d3.d_date_sk
+   and d3.d_quarter_name in ('2001Q1','2001Q2','2001Q3')
+ group by i_item_id
+         ,i_item_desc
+         ,s_state
+ order by i_item_id
+         ,i_item_desc
+         ,s_state
+limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.17"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf18.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf18.groovy
index 7b6576ec21f..c2ff75dee06 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf18.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf18.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf18") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf18") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id,
         ca_country,
         ca_state, 
@@ -63,26 +63,26 @@ suite("ds_rf18") {
         ca_county,
 	i_item_id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.18"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF5[cs_item_sk->[i_item_sk],RF4[c_current_cdemo_sk->[cd_demo_sk],RF3[ca_address_sk->[c_current_addr_sk],RF2[c_customer_sk->[cs_bill_customer_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[cd_demo_sk->[cs_bill_cdemo_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.18"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[c_current_cdemo_sk->[cd_demo_sk],RF4[cs_item_sk->[i_item_sk],RF3[d_date_sk->[cs_sold_date_sk],RF2[cd_demo_sk->[cs_bill_cdemo_sk],RF1[c_customer_sk->[cs_bill_customer_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf19.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf19.groovy
index e521f4cfb98..e82e879b7d0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf19.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf19.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf19") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf19") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_brand_id brand_id, i_brand brand, i_manufact_id, i_manufact,
  	sum(ss_ext_sales_price) ext_price
  from date_dim, store_sales, item,customer,customer_address,store
@@ -54,26 +54,26 @@ suite("ds_rf19") {
          ,i_manufact_id
          ,i_manufact
 limit 100 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.19"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF4[s_store_sk->[ss_store_sk],RF3[c_current_addr_sk->[ca_address_sk],RF2[ss_customer_sk->[c_customer_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.19"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF4[s_store_sk->[ss_store_sk],RF3[c_current_addr_sk->[ca_address_sk],RF2[ss_customer_sk->[c_customer_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf2.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf2.groovy
index fa8058af176..00d7bca8636 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf2.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf2.groovy
@@ -106,9 +106,9 @@ suite("ds_rf2") {
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.2"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.2"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF0[d_date_sk->[ws_sold_date_sk],RF1[d_date_sk->[cs_sold_date_sk],RF3[d_week_seq->[d_week_seq],RF2[d_week_seq->[d_week_seq]", getRuntimeFilters(plan))
+    assertEquals("", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf20.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf20.groovy
index 79439a8b737..0e60008f501 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf20.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf20.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf20") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf20") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id
        ,i_item_desc 
        ,i_category 
@@ -59,26 +59,26 @@ suite("ds_rf20") {
          ,i_item_desc
          ,revenueratio
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.20"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[i_item_sk->[cs_item_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.20"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[i_item_sk->[cs_item_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf21.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf21.groovy
index f11745592c0..26e0c4b2af8 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf21.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf21.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf21") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf21") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  *
  from(select w_warehouse_name
             ,i_item_id
@@ -59,26 +59,26 @@ suite("ds_rf21") {
  order by w_warehouse_name
          ,i_item_id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.21"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[w_warehouse_sk->[inv_warehouse_sk],RF1[d_date_sk->[inv_date_sk],RF0[i_item_sk->[inv_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.21"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[w_warehouse_sk->[inv_warehouse_sk],RF1[d_date_sk->[inv_date_sk],RF0[i_item_sk->[inv_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf22.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf22.groovy
index 2a31463b5c0..be395c283bb 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf22.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf22.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf22") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf22") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_product_name
              ,i_brand
              ,i_class
@@ -49,26 +49,26 @@ suite("ds_rf22") {
                        ,i_category)
 order by qoh, i_product_name, i_brand, i_class, i_category
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.22"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[inv_date_sk],RF0[i_item_sk->[inv_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.22"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[inv_date_sk],RF0[i_item_sk->[inv_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf23.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf23.groovy
index 2aea6a3f1fd..f8ba0d07292 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf23.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf23.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf23") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf23") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with frequent_ss_items as 
  (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
   from store_sales
@@ -81,26 +81,26 @@ from
          and ws_item_sk in (select item_sk from frequent_ss_items)
          and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer)) t2 
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.23"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk],RF4[c_customer_sk->[ss_customer_sk],RF3[c_customer_sk->[ss_customer_sk],RF2[d_date_sk->[ss_sold_date_sk],RF6[c_customer_sk->[cs_bill_customer_sk],RF5[d_date_sk->[cs_sold_date_sk],RF8[c_customer_sk->[ws_bill_customer_sk],RF7[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.23"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[i_item_sk->[ss_item_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[c_customer_sk->[cs_bill_customer_sk],RF0[d_date_sk->[cs_sold_date_sk],RF5[c_customer_sk->[ws_bill_customer_sk],RF4[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf24.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf24.groovy
index 1a47f501fa6..218cbebe695 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf24.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf24.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf24") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf24") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with ssales as
 (select c_last_name
       ,c_first_name
@@ -84,26 +84,26 @@ order by c_last_name
         ,c_first_name
         ,s_store_name
 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.24"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF5[sr_item_sk->[ss_item_sk],RF6[sr_ticket_number->[ss_ticket_number],RF4[i_item_sk->[ss_item_sk],RF2[ca_zip->[s_zip],RF3[ca_address_sk->[c_current_addr_sk],RF1[c_customer_sk->[ss_customer_sk],RF0[s_store_sk->[ss_store_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.24"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
index 4e03464a6a8..4d63768001f 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf25.groovy
@@ -1,101 +1,102 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf25") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    select  
- i_item_id
- ,i_item_desc
- ,s_store_id
- ,s_store_name
- ,sum(ss_net_profit) as store_sales_profit
- ,sum(sr_net_loss) as store_returns_loss
- ,sum(cs_net_profit) as catalog_sales_profit
- from
- store_sales
- ,store_returns
- ,catalog_sales
- ,date_dim d1
- ,date_dim d2
- ,date_dim d3
- ,store
- ,item
- where
- d1.d_moy = 4
- and d1.d_year = 2000
- and d1.d_date_sk = ss_sold_date_sk
- and i_item_sk = ss_item_sk
- and s_store_sk = ss_store_sk
- and ss_customer_sk = sr_customer_sk
- and ss_item_sk = sr_item_sk
- and ss_ticket_number = sr_ticket_number
- and sr_returned_date_sk = d2.d_date_sk
- and d2.d_moy               between 4 and  10
- and d2.d_year              = 2000
- and sr_customer_sk = cs_bill_customer_sk
- and sr_item_sk = cs_item_sk
- and cs_sold_date_sk = d3.d_date_sk
- and d3.d_moy               between 4 and  10 
- and d3.d_year              = 2000
- group by
- i_item_id
- ,i_item_desc
- ,s_store_id
- ,s_store_name
- order by
- i_item_id
- ,i_item_desc
- ,s_store_id
- ,s_store_name
- limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.25"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf25") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    select  
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ ,sum(ss_net_profit) as store_sales_profit
+ ,sum(sr_net_loss) as store_returns_loss
+ ,sum(cs_net_profit) as catalog_sales_profit
+ from
+ store_sales
+ ,store_returns
+ ,catalog_sales
+ ,date_dim d1
+ ,date_dim d2
+ ,date_dim d3
+ ,store
+ ,item
+ where
+ d1.d_moy = 4
+ and d1.d_year = 2000
+ and d1.d_date_sk = ss_sold_date_sk
+ and i_item_sk = ss_item_sk
+ and s_store_sk = ss_store_sk
+ and ss_customer_sk = sr_customer_sk
+ and ss_item_sk = sr_item_sk
+ and ss_ticket_number = sr_ticket_number
+ and sr_returned_date_sk = d2.d_date_sk
+ and d2.d_moy               between 4 and  10
+ and d2.d_year              = 2000
+ and sr_customer_sk = cs_bill_customer_sk
+ and sr_item_sk = cs_item_sk
+ and cs_sold_date_sk = d3.d_date_sk
+ and d3.d_moy               between 4 and  10 
+ and d3.d_year              = 2000
+ group by
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ order by
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.25"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf26.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf26.groovy
index 449a2f1f813..3a4b1a25829 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf26.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf26.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf26") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf26") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id, 
         avg(cs_quantity) agg1,
         avg(cs_list_price) agg2,
@@ -50,26 +50,26 @@ suite("ds_rf26") {
  group by i_item_id
  order by i_item_id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.26"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[i_item_sk->[cs_item_sk],RF2[p_promo_sk->[cs_promo_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[cd_demo_sk->[cs_bill_cdemo_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.26"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[i_item_sk->[cs_item_sk],RF2[p_promo_sk->[cs_promo_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[cd_demo_sk->[cs_bill_cdemo_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf27.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf27.groovy
index 82d8e6901a2..7fb655e8cb6 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf27.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf27.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf27") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf27") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id,
         s_state, grouping(s_state) g_state,
         avg(ss_quantity) agg1,
@@ -52,26 +52,26 @@ suite("ds_rf27") {
  order by i_item_id
          ,s_state
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.27"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[s_store_sk->[ss_store_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[cd_demo_sk->[ss_cdemo_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.27"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[s_store_sk->[ss_store_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[cd_demo_sk->[ss_cdemo_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf28.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf28.groovy
index b3054df262a..2a87bae8fe9 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf28.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf28.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf28") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf28") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  *
 from (select avg(ss_list_price) B1_LP
             ,count(ss_list_price) B1_CNT
@@ -82,26 +82,26 @@ from (select avg(ss_list_price) B1_LP
           or ss_coupon_amt between 15257 and 15257+1000
           or ss_wholesale_cost between 31 and 31+20)) B6
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.28"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.28"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
index f8953c09d5d..9a17736ea1b 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf29.groovy
@@ -1,100 +1,101 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf29") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    select   
-     i_item_id
-    ,i_item_desc
-    ,s_store_id
-    ,s_store_name
-    ,avg(ss_quantity)        as store_sales_quantity
-    ,avg(sr_return_quantity) as store_returns_quantity
-    ,avg(cs_quantity)        as catalog_sales_quantity
- from
-    store_sales
-   ,store_returns
-   ,catalog_sales
-   ,date_dim             d1
-   ,date_dim             d2
-   ,date_dim             d3
-   ,store
-   ,item
- where
-     d1.d_moy               = 4 
- and d1.d_year              = 1999
- and d1.d_date_sk           = ss_sold_date_sk
- and i_item_sk              = ss_item_sk
- and s_store_sk             = ss_store_sk
- and ss_customer_sk         = sr_customer_sk
- and ss_item_sk             = sr_item_sk
- and ss_ticket_number       = sr_ticket_number
- and sr_returned_date_sk    = d2.d_date_sk
- and d2.d_moy               between 4 and  4 + 3 
- and d2.d_year              = 1999
- and sr_customer_sk         = cs_bill_customer_sk
- and sr_item_sk             = cs_item_sk
- and cs_sold_date_sk        = d3.d_date_sk     
- and d3.d_year              in (1999,1999+1,1999+2)
- group by
-    i_item_id
-   ,i_item_desc
-   ,s_store_id
-   ,s_store_name
- order by
-    i_item_id 
-   ,i_item_desc
-   ,s_store_id
-   ,s_store_name
- limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.29"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF9[d_date_sk->[cs_sold_date_sk],RF7[sr_customer_sk->[cs_bill_customer_sk],RF8[sr_item_sk->[cs_item_sk],RF6[s_store_sk->[ss_store_sk],RF5[i_item_sk->[ss_item_sk],RF4[d_date_sk->[sr_returned_date_sk],RF1[ss_customer_sk->[sr_customer_sk],RF2[ss_item_sk->[sr_item_sk],RF3[ss_ticket_number->[sr_ticket_number],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf29") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    select   
+     i_item_id
+    ,i_item_desc
+    ,s_store_id
+    ,s_store_name
+    ,avg(ss_quantity)        as store_sales_quantity
+    ,avg(sr_return_quantity) as store_returns_quantity
+    ,avg(cs_quantity)        as catalog_sales_quantity
+ from
+    store_sales
+   ,store_returns
+   ,catalog_sales
+   ,date_dim             d1
+   ,date_dim             d2
+   ,date_dim             d3
+   ,store
+   ,item
+ where
+     d1.d_moy               = 4 
+ and d1.d_year              = 1999
+ and d1.d_date_sk           = ss_sold_date_sk
+ and i_item_sk              = ss_item_sk
+ and s_store_sk             = ss_store_sk
+ and ss_customer_sk         = sr_customer_sk
+ and ss_item_sk             = sr_item_sk
+ and ss_ticket_number       = sr_ticket_number
+ and sr_returned_date_sk    = d2.d_date_sk
+ and d2.d_moy               between 4 and  4 + 3 
+ and d2.d_year              = 1999
+ and sr_customer_sk         = cs_bill_customer_sk
+ and sr_item_sk             = cs_item_sk
+ and cs_sold_date_sk        = d3.d_date_sk     
+ and d3.d_year              in (1999,1999+1,1999+2)
+ group by
+    i_item_id
+   ,i_item_desc
+   ,s_store_id
+   ,s_store_name
+ order by
+    i_item_id 
+   ,i_item_desc
+   ,s_store_id
+   ,s_store_name
+ limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.29"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF9[ss_store_sk->[s_store_sk],RF8[ss_item_sk->[i_item_sk],RF7[cs_sold_date_sk->[d_date_sk],RF5[sr_customer_sk->[cs_bill_customer_sk],RF6[sr_item_sk->[cs_item_sk],RF4[d_date_sk->[ss_sold_date_sk],RF1[sr_customer_sk->[ss_customer_sk],RF2[sr_item_sk->[ss_item_sk],RF3[sr_ticket_number->[ss_ticket_number],RF0[d_date_sk->[sr_returned_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf3.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf3.groovy
index eea58670255..38fcfafe513 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf3.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf3.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf3") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf3") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  dt.d_year 
        ,item.i_brand_id brand_id 
        ,item.i_brand brand
@@ -50,26 +50,26 @@ suite("ds_rf3") {
          ,sum_agg desc
          ,brand_id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.3"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.3"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf30.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf30.groovy
index a05a90cdb2c..557e30a1fd7 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf30.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf30.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf30") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf30") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with customer_total_return as
  (select wr_returning_customer_sk as ctr_customer_sk
         ,ca_state as ctr_state, 
@@ -60,26 +60,26 @@ suite("ds_rf30") {
                   ,c_birth_day,c_birth_month,c_birth_year,c_birth_country,c_login,c_email_address
                   ,c_last_review_date_sk,ctr_total_return
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.30"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[ca_address_sk->[wr_returning_addr_sk],RF0[d_date_sk->[wr_returned_date_sk],RF3[c_customer_sk->[ctr_customer_sk],RF2[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.30"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[ca_address_sk->[wr_returning_addr_sk],RF1[d_date_sk->[wr_returned_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf31.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf31.groovy
index de42ac0c39e..d38ae514ed9 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf31.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf31.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf31") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf31") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with ss as
  (select ca_county,d_qoy, d_year,sum(ss_ext_sales_price) as store_sales
  from store_sales,date_dim,customer_address
@@ -81,26 +81,26 @@ suite("ds_rf31") {
     and case when ws2.web_sales > 0 then ws3.web_sales/ws2.web_sales else null end
        > case when ss2.store_sales > 0 then ss3.store_sales/ss2.store_sales else null end
  order by web_q1_q2_increase;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.31"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[ca_address_sk->[ss_addr_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[ca_address_sk->[ws_bill_addr_sk],RF2[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.31"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[ca_address_sk->[ss_addr_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[ca_address_sk->[ws_bill_addr_sk],RF2[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf32.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf32.groovy
index e8aa475c1ba..8714f4bb227 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf32.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf32.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf32") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf32") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  sum(cs_ext_discount_amt)  as "excess discount amount" 
 from 
    catalog_sales 
@@ -57,26 +57,26 @@ and cs_ext_discount_amt
           and d_date_sk = cs_sold_date_sk 
       ) 
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.32"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.32"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf33.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf33.groovy
index c9c44210696..942a49f4ad7 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf33.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf33.groovy
@@ -107,7 +107,7 @@ limit 100;
 
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -121,9 +121,9 @@ limit 100;
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.33"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.33"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF3[i_manufact_id->[i_manufact_id],RF2[i_item_sk->[ss_item_sk],RF1[ca_address_sk->[ss_addr_sk],RF0[d_date_sk->[ss_sold_date_sk],RF7[i_manufact_id->[i_manufact_id],RF6[i_item_sk->[cs_item_sk],RF5[ca_address_sk->[cs_bill_addr_sk],RF4[d_date_sk->[cs_sold_date_sk],RF11[i_manufact_id->[i_manufact_id],RF10[ws_item_sk->[i_item_sk],RF9[ca_address_sk->[ws_bill_addr_sk],RF8[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+    assertEquals("RF3[i_manufact_id->[i_manufact_id],RF2[i_item_sk->[ss_item_sk],RF1[ca_address_sk->[ss_addr_sk],RF0[d_date_sk->[ss_sold_date_sk],RF7[i_manufact_id->[i_manufact_id],RF6[i_item_sk->[cs_item_sk],RF5[ca_address_sk->[cs_bill_addr_sk],RF4[d_date_sk->[cs_sold_date_sk],RF11[i_manufact_id->[i_manufact_id],RF10[ws_item_sk->[i_item_sk],RF9[ca_address_sk->[ws_bill_addr_sk],RF8[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf34.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf34.groovy
index 8dfbf036153..83021b54c06 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf34.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf34.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf34") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf34") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select c_last_name
        ,c_first_name
        ,c_salutation
@@ -60,26 +60,26 @@ suite("ds_rf34") {
     where ss_customer_sk = c_customer_sk
       and cnt between 15 and 20
     order by c_last_name,c_first_name,c_salutation,c_preferred_cust_flag desc, ss_ticket_number;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.34"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[ss_customer_sk->[c_customer_sk],RF2[s_store_sk->[ss_store_sk],RF1[hd_demo_sk->[ss_hdemo_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.34"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[ss_customer_sk->[c_customer_sk],RF2[s_store_sk->[ss_store_sk],RF1[hd_demo_sk->[ss_hdemo_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf35.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf35.groovy
index 123775ba901..625b69acd09 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf35.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf35.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf35") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf35") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select   
   ca_state,
   cd_gender,
@@ -87,26 +87,26 @@ suite("ds_rf35") {
           cd_dep_employed_count,
           cd_dep_college_count
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.35"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF5[cd_demo_sk->[c_current_cdemo_sk],RF4[ca_address_sk->[c_current_addr_sk],RF3[c_customer_sk->[ss_customer_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.35"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[cd_demo_sk->[c_current_cdemo_sk],RF4[ca_address_sk->[c_current_addr_sk],RF3[c_customer_sk->[ss_customer_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf36.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf36.groovy
index d74bcda6385..80a969a670d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf36.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf36.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf36") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf36") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
     sum(ss_net_profit)/sum(ss_ext_sales_price) as gross_margin
    ,i_category
@@ -59,26 +59,26 @@ suite("ds_rf36") {
   ,case when lochierarchy = 0 then i_category end
   ,rank_within_parent
   limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.36"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.36"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf37.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf37.groovy
index 1c0b52482b2..064dd4d6db4 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf37.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf37.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf37") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf37") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id
        ,i_item_desc
        ,i_current_price
@@ -46,26 +46,26 @@ suite("ds_rf37") {
  group by i_item_id,i_item_desc,i_current_price
  order by i_item_id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.37"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[i_item_sk->[cs_item_sk],RF1[d_date_sk->[inv_date_sk],RF0[i_item_sk->[inv_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.37"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[i_item_sk->[cs_item_sk],RF1[d_date_sk->[inv_date_sk],RF0[i_item_sk->[inv_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf38.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf38.groovy
index 595c132d6ca..bc8e705a236 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf38.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf38.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf38") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf38") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  count(*) from (
     select distinct c_last_name, c_first_name, d_date
     from store_sales, date_dim, customer
@@ -52,26 +52,26 @@ suite("ds_rf38") {
       and d_month_seq between 1183 and 1183 + 11
 ) hot_cust
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.38"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[cs_bill_customer_sk],RF2[d_date_sk->[cs_sold_date_sk],RF5[c_customer_sk->[ws_bill_customer_sk],RF4[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.38"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[cs_bill_customer_sk],RF2[d_date_sk->[cs_sold_date_sk],RF5[c_customer_sk->[ws_bill_customer_sk],RF4[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf39.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf39.groovy
index 2881698527f..4a11a5e9cc6 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf39.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf39.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf39") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf39") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with inv as
 (select w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy
        ,stdev,mean, case mean when 0 then null else stdev/mean end cov
@@ -56,26 +56,26 @@ where inv1.i_item_sk = inv2.i_item_sk
   and inv2.d_moy=1+1
 order by inv1.w_warehouse_sk,inv1.i_item_sk,inv1.d_moy,inv1.mean,inv1.cov
         ,inv2.d_moy,inv2.mean, inv2.cov;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.39"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[w_warehouse_sk->[inv_warehouse_sk],RF1[i_item_sk->[inv_item_sk],RF0[d_date_sk->[inv_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.39"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[w_warehouse_sk->[inv_warehouse_sk],RF1[i_item_sk->[inv_item_sk],RF0[d_date_sk->[inv_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf4.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf4.groovy
index 8f669956ba6..1739991c297 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf4.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf4.groovy
@@ -148,7 +148,7 @@ limit 100;
 
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -162,9 +162,9 @@ limit 100;
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.4"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.4"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[cs_bill_customer_sk],RF2[d_date_sk->[cs_sold_date_sk],RF5[c_customer_sk->[ws_bill_customer_sk],RF4[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+    assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[cs_bill_customer_sk],RF2[d_date_sk->[cs_sold_date_sk],RF5[c_customer_sk->[ws_bill_customer_sk],RF4[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
index 4fbd4124cce..88e7bdedcfc 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf40.groovy
@@ -1,81 +1,82 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf40") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    select  
-   w_state
-  ,i_item_id
-  ,sum(case when (cast(d_date as date) < cast ('2001-04-02' as date)) 
- 		then cs_sales_price - coalesce(cr_refunded_cash,0) else 0 end) as sales_before
-  ,sum(case when (cast(d_date as date) >= cast ('2001-04-02' as date)) 
- 		then cs_sales_price - coalesce(cr_refunded_cash,0) else 0 end) as sales_after
- from
-   catalog_sales left outer join catalog_returns on
-       (cs_order_number = cr_order_number 
-        and cs_item_sk = cr_item_sk)
-  ,warehouse 
-  ,item
-  ,date_dim
- where
-     i_current_price between 0.99 and 1.49
- and i_item_sk          = cs_item_sk
- and cs_warehouse_sk    = w_warehouse_sk 
- and cs_sold_date_sk    = d_date_sk
- and d_date between (cast ('2001-04-02' as date) - interval 30 day)
-                and (cast ('2001-04-02' as date) + interval 30 day) 
- group by
-    w_state,i_item_id
- order by w_state,i_item_id
-limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.40"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF4[w_warehouse_sk->[cs_warehouse_sk],RF2[cs_order_number->[cr_order_number],RF3[cs_item_sk->[cr_item_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf40") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    select  
+   w_state
+  ,i_item_id
+  ,sum(case when (cast(d_date as date) < cast ('2001-04-02' as date)) 
+ 		then cs_sales_price - coalesce(cr_refunded_cash,0) else 0 end) as sales_before
+  ,sum(case when (cast(d_date as date) >= cast ('2001-04-02' as date)) 
+ 		then cs_sales_price - coalesce(cr_refunded_cash,0) else 0 end) as sales_after
+ from
+   catalog_sales left outer join catalog_returns on
+       (cs_order_number = cr_order_number 
+        and cs_item_sk = cr_item_sk)
+  ,warehouse 
+  ,item
+  ,date_dim
+ where
+     i_current_price between 0.99 and 1.49
+ and i_item_sk          = cs_item_sk
+ and cs_warehouse_sk    = w_warehouse_sk 
+ and cs_sold_date_sk    = d_date_sk
+ and d_date between (cast ('2001-04-02' as date) - interval 30 day)
+                and (cast ('2001-04-02' as date) + interval 30 day) 
+ group by
+    w_state,i_item_id
+ order by w_state,i_item_id
+limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.40"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF4[w_warehouse_sk->[cs_warehouse_sk],RF2[cs_order_number->[cr_order_number],RF3[cs_item_sk->[cr_item_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf41.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf41.groovy
index 54c0369f0a4..fc55fb18aa9 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf41.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf41.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf41") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf41") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  distinct(i_product_name)
  from item i1
  where i_manufact_id between 748 and 748+40 
@@ -81,26 +81,26 @@ suite("ds_rf41") {
         )))) > 0
  order by i_product_name
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.41"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF0[i_manufact->[i_manufact]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.41"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF0[i_manufact->[i_manufact]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf42.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf42.groovy
index 0e478423e07..78e85d7148d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf42.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf42.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf42") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf42") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  dt.d_year
  	,item.i_category_id
  	,item.i_category
@@ -51,26 +51,26 @@ suite("ds_rf42") {
  		,item.i_category_id
  		,item.i_category
 limit 100 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.42"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.42"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf43.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf43.groovy
index e7da261b03c..af373757661 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf43.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf43.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf43") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf43") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  s_store_name, s_store_id,
         sum(case when (d_day_name='Sunday') then ss_sales_price else null end) sun_sales,
         sum(case when (d_day_name='Monday') then ss_sales_price else null end) mon_sales,
@@ -48,26 +48,26 @@ suite("ds_rf43") {
  group by s_store_name, s_store_id
  order by s_store_name, s_store_id,sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.43"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[s_store_sk->[ss_store_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.43"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[s_store_sk->[ss_store_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf44.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf44.groovy
index f626136021a..784864a8ef3 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf44.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf44.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf44") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf44") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
 from(select *
      from (select item_sk,rank() over (order by rank_col asc) rnk
@@ -64,26 +64,26 @@ where asceding.rnk = descending.rnk
   and i2.i_item_sk=descending.item_sk
 order by asceding.rnk
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.44"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[item_sk->[i_item_sk],RF0[item_sk->[i_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.44"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[item_sk->[i_item_sk],RF0[item_sk->[i_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf45.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf45.groovy
index 15d79d0e57a..637db92961d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf45.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf45.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf45") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf45") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  ca_zip, ca_city, sum(ws_sales_price)
  from web_sales, customer, customer_address, date_dim, item
  where ws_bill_customer_sk = c_customer_sk
@@ -49,26 +49,26 @@ suite("ds_rf45") {
  group by ca_zip, ca_city
  order by ca_zip, ca_city
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.45"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[c_customer_sk->[ws_bill_customer_sk],RF2[i_item_sk->[ws_item_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.45"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[c_customer_sk->[ws_bill_customer_sk],RF2[i_item_sk->[ws_item_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf46.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf46.groovy
index 6bc6203536b..183495a9790 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf46.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf46.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf46") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf46") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  c_last_name
        ,c_first_name
        ,ca_city
@@ -64,25 +64,26 @@ suite("ds_rf46") {
           ,bought_city
           ,ss_ticket_number
   limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.46"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF5[c_customer_sk->[ss_customer_sk],RF4[ca_address_sk->[ss_addr_sk],RF3[s_store_sk->[ss_store_sk],RF2[hd_demo_sk->[ss_hdemo_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.46"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[c_customer_sk->[ss_customer_sk],RF4[ca_address_sk->[ss_addr_sk],RF3[s_store_sk->[ss_store_sk],RF2[hd_demo_sk->[ss_hdemo_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf47.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf47.groovy
index 769227e276e..ea7b99513b6 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf47.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf47.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf47") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf47") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with v1 as(
  select i_category, i_brand,
         s_store_name, s_company_name,
@@ -80,26 +80,26 @@ suite("ds_rf47") {
         case when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
  order by sum_sales - avg_monthly_sales, nsum
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.47"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.47"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf48.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf48.groovy
index 32f767349fd..4be7ad5317a 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf48.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf48.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf48") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf48") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select sum (ss_quantity)
  from store_sales, store, customer_demographics, customer_address, date_dim
  where s_store_sk = ss_store_sk
@@ -96,26 +96,26 @@ suite("ds_rf48") {
   )
  )
 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.48"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[s_store_sk->[ss_store_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[cd_demo_sk->[ss_cdemo_sk],RF0[ca_address_sk->[ss_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.48"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[s_store_sk->[ss_store_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[ca_address_sk->[ss_addr_sk],RF0[cd_demo_sk->[ss_cdemo_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf49.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf49.groovy
index 91d46661fa8..0dd0546a7a0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf49.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf49.groovy
@@ -161,7 +161,7 @@ suite("ds_rf49") {
 
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -175,9 +175,9 @@ suite("ds_rf49") {
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.49"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.49"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF1[ws_order_number->[wr_order_number],RF2[ws_item_sk->[wr_item_sk],RF0[d_date_sk->[ws_sold_date_sk],RF4[cs_order_number->[cr_order_number],RF5[cs_item_sk->[cr_item_sk],RF3[d_date_sk->[cs_sold_date_sk],RF7[ss_ticket_number->[sr_ticket_number],RF8[ss_item_sk->[sr_item_sk],RF6[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+    assertEquals("RF1[ws_order_number->[wr_order_number],RF2[ws_item_sk->[wr_item_sk],RF0[d_date_sk->[ws_sold_date_sk],RF4[cs_order_number->[cr_order_number],RF5[cs_item_sk->[cr_item_sk],RF3[d_date_sk->[cs_sold_date_sk],RF7[ss_ticket_number->[sr_ticket_number],RF8[ss_item_sk->[sr_item_sk],RF6[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
index 55714f66736..1daef3672b5 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf5.groovy
@@ -157,9 +157,10 @@ suite("ds_rf5") {
  order by channel
          ,id
  limit 100;
+
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -173,9 +174,9 @@ suite("ds_rf5") {
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.5"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.5"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF2[s_store_sk->[ss_store_sk],RF3[s_store_sk->[sr_store_sk],RF0[d_date_sk->[ss_sold_date_sk],RF1[d_date_sk->[sr_returned_date_sk],RF6[cp_catalog_page_sk->[cs_catalog_page_sk],RF7[cp_catalog_page_sk->[cr_catalog_page_sk],RF4[d_date_sk->[cs_sold_date_sk],RF5[d_date_sk->[cr_returned_date_sk],RF12[web_site_sk->[ws_web_site_sk],RF13[web_site_sk->[ws_web_site_sk],RF10[d_date_sk->[ws_sold_date_sk],RF11[d_date_sk->[wr_returned_date_sk],RF8[wr_item_sk->[ws_item_sk],RF9[wr_order [...]
+    assertEquals("RF0[wr_item_sk->[ws_item_sk],RF1[wr_order_number->[ws_order_number]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf50.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf50.groovy
index 4eaafd10903..76302d570b7 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf50.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf50.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf50") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf50") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
    s_store_name
   ,s_company_id
@@ -88,25 +88,26 @@ order by s_store_name
         ,s_state
         ,s_zip
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.50"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF5[s_store_sk->[ss_store_sk],RF4[d_date_sk->[ss_sold_date_sk],RF1[sr_customer_sk->[ss_customer_sk],RF2[sr_item_sk->[ss_item_sk],RF3[sr_ticket_number->[ss_ticket_number],RF0[d_date_sk->[sr_returned_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.50"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[s_store_sk->[ss_store_sk],RF4[ss_sold_date_sk->[d_date_sk],RF1[sr_customer_sk->[ss_customer_sk],RF2[sr_item_sk->[ss_item_sk],RF3[sr_ticket_number->[ss_ticket_number],RF0[d_date_sk->[sr_returned_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf51.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf51.groovy
index 28ea4237cfa..778a4cce90e 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf51.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf51.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf51") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf51") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     WITH web_v1 as (
 select
   ws_item_sk item_sk, d_date,
@@ -74,26 +74,26 @@ where web_cumulative > store_cumulative
 order by item_sk
         ,d_date
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.51"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.51"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf52.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf52.groovy
index 8967a32396d..cc6512ad2cd 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf52.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf52.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf52") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf52") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  dt.d_year
  	,item.i_brand_id brand_id
  	,item.i_brand brand
@@ -51,26 +51,26 @@ suite("ds_rf52") {
  	,ext_price desc
  	,brand_id
 limit 100 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.52"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.52"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf53.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf53.groovy
index e74d96cf475..9f0026036e7 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf53.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf53.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf53") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf53") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  * from 
 (select i_manufact_id,
 sum(ss_sales_price) sum_sales,
@@ -57,26 +57,26 @@ order by avg_quarterly_sales,
 	 sum_sales,
 	 i_manufact_id
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.53"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.53"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf54.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf54.groovy
index 234c4c0d5fc..ac58b688da3 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf54.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf54.groovy
@@ -1,110 +1,110 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf54") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    with my_customers as (
- select distinct c_customer_sk
-        , c_current_addr_sk
- from   
-        ( select cs_sold_date_sk sold_date_sk,
-                 cs_bill_customer_sk customer_sk,
-                 cs_item_sk item_sk
-          from   catalog_sales
-          union all
-          select ws_sold_date_sk sold_date_sk,
-                 ws_bill_customer_sk customer_sk,
-                 ws_item_sk item_sk
-          from   web_sales
-         ) cs_or_ws_sales,
-         item,
-         date_dim,
-         customer
- where   sold_date_sk = d_date_sk
-         and item_sk = i_item_sk
-         and i_category = 'Women'
-         and i_class = 'maternity'
-         and c_customer_sk = cs_or_ws_sales.customer_sk
-         and d_moy = 5
-         and d_year = 1998
- )
- , my_revenue as (
- select c_customer_sk,
-        sum(ss_ext_sales_price) as revenue
- from   my_customers,
-        store_sales,
-        customer_address,
-        store,
-        date_dim
- where  c_current_addr_sk = ca_address_sk
-        and ca_county = s_county
-        and ca_state = s_state
-        and ss_sold_date_sk = d_date_sk
-        and c_customer_sk = ss_customer_sk
-        and d_month_seq between (select distinct d_month_seq+1
-                                 from   date_dim where d_year = 1998 and d_moy = 5)
-                           and  (select distinct d_month_seq+3
-                                 from   date_dim where d_year = 1998 and d_moy = 5)
- group by c_customer_sk
- )
- , segments as
- (select cast((revenue/50) as int) as segment
-  from   my_revenue
- )
-  select  segment, count(*) as num_customers, segment*50 as segment_base
- from segments
- group by segment
- order by segment, num_customers
- limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.54"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF6[d_date_sk->[ss_sold_date_sk],RF5[c_customer_sk->[ss_customer_sk],RF3[s_county->[ca_county],RF4[s_state->[ca_state],RF2[c_current_addr_sk->[ca_address_sk],RF1[customer_sk->[c_customer_sk],RF0[i_item_sk->[cs_item_sk, ws_item_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf54") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    with my_customers as (
+ select distinct c_customer_sk
+        , c_current_addr_sk
+ from   
+        ( select cs_sold_date_sk sold_date_sk,
+                 cs_bill_customer_sk customer_sk,
+                 cs_item_sk item_sk
+          from   catalog_sales
+          union all
+          select ws_sold_date_sk sold_date_sk,
+                 ws_bill_customer_sk customer_sk,
+                 ws_item_sk item_sk
+          from   web_sales
+         ) cs_or_ws_sales,
+         item,
+         date_dim,
+         customer
+ where   sold_date_sk = d_date_sk
+         and item_sk = i_item_sk
+         and i_category = 'Women'
+         and i_class = 'maternity'
+         and c_customer_sk = cs_or_ws_sales.customer_sk
+         and d_moy = 5
+         and d_year = 1998
+ )
+ , my_revenue as (
+ select c_customer_sk,
+        sum(ss_ext_sales_price) as revenue
+ from   my_customers,
+        store_sales,
+        customer_address,
+        store,
+        date_dim
+ where  c_current_addr_sk = ca_address_sk
+        and ca_county = s_county
+        and ca_state = s_state
+        and ss_sold_date_sk = d_date_sk
+        and c_customer_sk = ss_customer_sk
+        and d_month_seq between (select distinct d_month_seq+1
+                                 from   date_dim where d_year = 1998 and d_moy = 5)
+                           and  (select distinct d_month_seq+3
+                                 from   date_dim where d_year = 1998 and d_moy = 5)
+ group by c_customer_sk
+ )
+ , segments as
+ (select cast((revenue/50) as int) as segment
+  from   my_revenue
+ )
+  select  segment, count(*) as num_customers, segment*50 as segment_base
+ from segments
+ group by segment
+ order by segment, num_customers
+ limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.54"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[d_date_sk->[ss_sold_date_sk],RF4[c_customer_sk->[ss_customer_sk],RF2[s_county->[ca_county],RF3[s_state->[ca_state],RF1[c_current_addr_sk->[ca_address_sk],RF0[customer_sk->[c_customer_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf55.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf55.groovy
index 90fd6e30b7e..0b57e874cc2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf55.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf55.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf55") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf55") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_brand_id brand_id, i_brand brand,
  	sum(ss_ext_sales_price) ext_price
  from date_dim, store_sales, item
@@ -43,26 +43,26 @@ suite("ds_rf55") {
  group by i_brand, i_brand_id
  order by ext_price desc, i_brand_id
 limit 100 ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.55"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.55"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
index 9e793e6163f..398c66a9fb2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf56.groovy
@@ -101,7 +101,7 @@ where i_color in ('powder','green','cyan'))
 
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -115,9 +115,9 @@ where i_color in ('powder','green','cyan'))
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.56"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.56"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF3[ca_address_sk->[ss_addr_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_id->[i_item_id],RF7[cs_bill_addr_sk->[ca_address_sk],RF6[i_item_sk->[cs_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_id->[i_item_id],RF11[ws_bill_addr_sk->[ca_address_sk],RF10[i_item_sk->[ws_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_id->[i_item_id]", getRuntimeFilters(plan))
+    assertEquals("RF3[ca_address_sk->[ss_addr_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_id->[i_item_id],RF7[cs_bill_addr_sk->[ca_address_sk],RF6[i_item_sk->[cs_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_id->[i_item_id],RF11[ws_bill_addr_sk->[ca_address_sk],RF10[i_item_sk->[ws_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_id->[i_item_id]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf57.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf57.groovy
index 4633893be3e..6748c221e36 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf57.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf57.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf57") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf57") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with v1 as(
  select i_category, i_brand,
         cc_name,
@@ -77,26 +77,26 @@ suite("ds_rf57") {
         case when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
  order by sum_sales - avg_monthly_sales, nsum
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.57"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[cc_call_center_sk->[cs_call_center_sk],RF1[i_item_sk->[cs_item_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.57"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[cc_call_center_sk->[cs_call_center_sk],RF1[i_item_sk->[cs_item_sk],RF0[d_date_sk->[cs_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf58.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf58.groovy
index 89e39ed0709..ff90f57177e 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf58.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf58.groovy
@@ -97,7 +97,7 @@ suite("ds_rf58") {
 
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -111,9 +111,9 @@ suite("ds_rf58") {
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.58"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.58"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF13[item_id->[i_item_id],RF12[i_item_sk->[cs_item_sk],RF11[d_date_sk->[cs_sold_date_sk],RF10[d_date->[d_date],RF9[d_week_seq->[d_week_seq],RF8[item_id->[i_item_id],RF7[i_item_sk->[ws_item_sk],RF6[d_date_sk->[ws_sold_date_sk],RF5[d_date->[d_date],RF4[d_week_seq->[d_week_seq],RF3[i_item_sk->[ss_item_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[d_date->[d_date],RF0[d_week_seq->[d_week_seq]", getRuntimeFilters(plan))
+    assertEquals("RF13[item_id->[i_item_id],RF12[cs_item_sk->[i_item_sk],RF11[d_date_sk->[cs_sold_date_sk],RF10[d_date->[d_date],RF9[d_week_seq->[d_week_seq],RF8[item_id->[i_item_id],RF7[ss_item_sk->[i_item_sk],RF6[d_date_sk->[ss_sold_date_sk],RF5[d_date->[d_date],RF4[d_week_seq->[d_week_seq],RF3[ws_item_sk->[i_item_sk],RF2[d_date_sk->[ws_sold_date_sk],RF1[d_date->[d_date],RF0[d_week_seq->[d_week_seq]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
index 22a9561c3fc..d7f673e720b 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf59.groovy
@@ -1,97 +1,98 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf59") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    with wss as 
- (select d_week_seq,
-        ss_store_sk,
-        sum(case when (d_day_name='Sunday') then ss_sales_price else null end) sun_sales,
-        sum(case when (d_day_name='Monday') then ss_sales_price else null end) mon_sales,
-        sum(case when (d_day_name='Tuesday') then ss_sales_price else  null end) tue_sales,
-        sum(case when (d_day_name='Wednesday') then ss_sales_price else null end) wed_sales,
-        sum(case when (d_day_name='Thursday') then ss_sales_price else null end) thu_sales,
-        sum(case when (d_day_name='Friday') then ss_sales_price else null end) fri_sales,
-        sum(case when (d_day_name='Saturday') then ss_sales_price else null end) sat_sales
- from store_sales,date_dim
- where d_date_sk = ss_sold_date_sk
- group by d_week_seq,ss_store_sk
- )
-  select  s_store_name1,s_store_id1,d_week_seq1
-       ,sun_sales1/sun_sales2,mon_sales1/mon_sales2
-       ,tue_sales1/tue_sales2,wed_sales1/wed_sales2,thu_sales1/thu_sales2
-       ,fri_sales1/fri_sales2,sat_sales1/sat_sales2
- from
- (select s_store_name s_store_name1,wss.d_week_seq d_week_seq1
-        ,s_store_id s_store_id1,sun_sales sun_sales1
-        ,mon_sales mon_sales1,tue_sales tue_sales1
-        ,wed_sales wed_sales1,thu_sales thu_sales1
-        ,fri_sales fri_sales1,sat_sales sat_sales1
-  from wss,store,date_dim d
-  where d.d_week_seq = wss.d_week_seq and
-        ss_store_sk = s_store_sk and 
-        d_month_seq between 1196 and 1196 + 11) y,
- (select s_store_name s_store_name2,wss.d_week_seq d_week_seq2
-        ,s_store_id s_store_id2,sun_sales sun_sales2
-        ,mon_sales mon_sales2,tue_sales tue_sales2
-        ,wed_sales wed_sales2,thu_sales thu_sales2
-        ,fri_sales fri_sales2,sat_sales sat_sales2
-  from wss,store,date_dim d
-  where d.d_week_seq = wss.d_week_seq and
-        ss_store_sk = s_store_sk and 
-        d_month_seq between 1196+ 12 and 1196 + 23) x
- where s_store_id1=s_store_id2
-   and d_week_seq1=d_week_seq2-52
- order by s_store_name1,s_store_id1,d_week_seq1
-limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.59"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-     assertEquals("RF0[d_date_sk->[ss_sold_date_sk],RF4[s_store_sk->[ss_store_sk],RF3[d_week_seq->[d_week_seq],RF2[s_store_sk->[ss_store_sk],RF1[d_week_seq->[d_week_seq]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf59") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    with wss as 
+ (select d_week_seq,
+        ss_store_sk,
+        sum(case when (d_day_name='Sunday') then ss_sales_price else null end) sun_sales,
+        sum(case when (d_day_name='Monday') then ss_sales_price else null end) mon_sales,
+        sum(case when (d_day_name='Tuesday') then ss_sales_price else  null end) tue_sales,
+        sum(case when (d_day_name='Wednesday') then ss_sales_price else null end) wed_sales,
+        sum(case when (d_day_name='Thursday') then ss_sales_price else null end) thu_sales,
+        sum(case when (d_day_name='Friday') then ss_sales_price else null end) fri_sales,
+        sum(case when (d_day_name='Saturday') then ss_sales_price else null end) sat_sales
+ from store_sales,date_dim
+ where d_date_sk = ss_sold_date_sk
+ group by d_week_seq,ss_store_sk
+ )
+  select  s_store_name1,s_store_id1,d_week_seq1
+       ,sun_sales1/sun_sales2,mon_sales1/mon_sales2
+       ,tue_sales1/tue_sales2,wed_sales1/wed_sales2,thu_sales1/thu_sales2
+       ,fri_sales1/fri_sales2,sat_sales1/sat_sales2
+ from
+ (select s_store_name s_store_name1,wss.d_week_seq d_week_seq1
+        ,s_store_id s_store_id1,sun_sales sun_sales1
+        ,mon_sales mon_sales1,tue_sales tue_sales1
+        ,wed_sales wed_sales1,thu_sales thu_sales1
+        ,fri_sales fri_sales1,sat_sales sat_sales1
+  from wss,store,date_dim d
+  where d.d_week_seq = wss.d_week_seq and
+        ss_store_sk = s_store_sk and 
+        d_month_seq between 1196 and 1196 + 11) y,
+ (select s_store_name s_store_name2,wss.d_week_seq d_week_seq2
+        ,s_store_id s_store_id2,sun_sales sun_sales2
+        ,mon_sales mon_sales2,tue_sales tue_sales2
+        ,wed_sales wed_sales2,thu_sales thu_sales2
+        ,fri_sales fri_sales2,sat_sales sat_sales2
+  from wss,store,date_dim d
+  where d.d_week_seq = wss.d_week_seq and
+        ss_store_sk = s_store_sk and 
+        d_month_seq between 1196+ 12 and 1196 + 23) x
+ where s_store_id1=s_store_id2
+   and d_week_seq1=d_week_seq2-52
+ order by s_store_name1,s_store_id1,d_week_seq1
+limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.59"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF0[d_date_sk->[ss_sold_date_sk],RF1[s_store_id1->[s_store_id]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf6.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf6.groovy
index 9e58d08dab0..b7f591b75a0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf6.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf6.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf6") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf6") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  a.ca_state state, count(*) cnt
  from customer_address a
      ,customer c
@@ -55,26 +55,26 @@ suite("ds_rf6") {
  having count(*) >= 10
  order by cnt, a.ca_state 
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.6"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF5[ca_address_sk->[c_current_addr_sk],RF4[ss_customer_sk->[c_customer_sk],RF3[i_category->[i_category],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[d_month_seq->[d_month_seq]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.6"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[ca_address_sk->[c_current_addr_sk],RF4[ss_customer_sk->[c_customer_sk],RF3[i_category->[i_category],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[d_month_seq->[d_month_seq]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf60.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf60.groovy
index 96d5edec07c..999550b7b31 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf60.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf60.groovy
@@ -110,7 +110,7 @@ where i_category in ('Children'))
 
     '''
     String plan = sql "${stmt}"
-    log.info(plan)
+    println plan
     def getRuntimeFilters = { plantree ->
         {
             def lst = []
@@ -124,9 +124,9 @@ where i_category in ('Children'))
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.60"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.60"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     assertEquals("RF3[ca_address_sk->[ss_addr_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_id->[i_item_id],RF7[ca_address_sk->[cs_bill_addr_sk],RF6[i_item_sk->[cs_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_id->[i_item_id],RF11[ca_address_sk->[ws_bill_addr_sk],RF10[i_item_sk->[ws_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_id->[i_item_id]", getRuntimeFilters(plan))
+    assertEquals("RF3[ca_address_sk->[ss_addr_sk],RF2[i_item_sk->[ss_item_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_id->[i_item_id],RF7[ca_address_sk->[cs_bill_addr_sk],RF6[i_item_sk->[cs_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_id->[i_item_id],RF11[i_item_sk->[ws_item_sk],RF10[ca_address_sk->[ws_bill_addr_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_id->[i_item_id]", getRuntimeFilters(plan))
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
index 656f3796149..cc20fb4f29d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf61.groovy
@@ -1,98 +1,98 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf61") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    select  promotions,total,cast(promotions as decimal(15,4))/cast(total as decimal(15,4))*100
-from
-  (select sum(ss_ext_sales_price) promotions
-   from  store_sales
-        ,store
-        ,promotion
-        ,date_dim
-        ,customer
-        ,customer_address 
-        ,item
-   where ss_sold_date_sk = d_date_sk
-   and   ss_store_sk = s_store_sk
-   and   ss_promo_sk = p_promo_sk
-   and   ss_customer_sk= c_customer_sk
-   and   ca_address_sk = c_current_addr_sk
-   and   ss_item_sk = i_item_sk 
-   and   ca_gmt_offset = -7
-   and   i_category = 'Jewelry'
-   and   (p_channel_dmail = 'Y' or p_channel_email = 'Y' or p_channel_tv = 'Y')
-   and   s_gmt_offset = -7
-   and   d_year = 1999
-   and   d_moy  = 11) promotional_sales,
-  (select sum(ss_ext_sales_price) total
-   from  store_sales
-        ,store
-        ,date_dim
-        ,customer
-        ,customer_address
-        ,item
-   where ss_sold_date_sk = d_date_sk
-   and   ss_store_sk = s_store_sk
-   and   ss_customer_sk= c_customer_sk
-   and   ca_address_sk = c_current_addr_sk
-   and   ss_item_sk = i_item_sk
-   and   ca_gmt_offset = -7
-   and   i_category = 'Jewelry'
-   and   s_gmt_offset = -7
-   and   d_year = 1999
-   and   d_moy  = 11) all_sales
-order by promotions, total
-limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.61"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-
-     assertEquals("RF10[ss_item_sk->[i_item_sk],RF9[c_current_addr_sk->[ca_address_sk],RF8[ss_customer_sk->[c_customer_sk],RF7[d_date_sk->[ss_sold_date_sk],RF6[p_promo_sk->[ss_promo_sk],RF5[s_store_sk->[ss_store_sk],RF4[ss_item_sk->[i_item_sk],RF3[c_current_addr_sk->[ca_address_sk],RF2[ss_customer_sk->[c_customer_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[s_store_sk->[ss_store_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf61") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    select  promotions,total,cast(promotions as decimal(15,4))/cast(total as decimal(15,4))*100
+from
+  (select sum(ss_ext_sales_price) promotions
+   from  store_sales
+        ,store
+        ,promotion
+        ,date_dim
+        ,customer
+        ,customer_address 
+        ,item
+   where ss_sold_date_sk = d_date_sk
+   and   ss_store_sk = s_store_sk
+   and   ss_promo_sk = p_promo_sk
+   and   ss_customer_sk= c_customer_sk
+   and   ca_address_sk = c_current_addr_sk
+   and   ss_item_sk = i_item_sk 
+   and   ca_gmt_offset = -7
+   and   i_category = 'Jewelry'
+   and   (p_channel_dmail = 'Y' or p_channel_email = 'Y' or p_channel_tv = 'Y')
+   and   s_gmt_offset = -7
+   and   d_year = 1999
+   and   d_moy  = 11) promotional_sales,
+  (select sum(ss_ext_sales_price) total
+   from  store_sales
+        ,store
+        ,date_dim
+        ,customer
+        ,customer_address
+        ,item
+   where ss_sold_date_sk = d_date_sk
+   and   ss_store_sk = s_store_sk
+   and   ss_customer_sk= c_customer_sk
+   and   ca_address_sk = c_current_addr_sk
+   and   ss_item_sk = i_item_sk
+   and   ca_gmt_offset = -7
+   and   i_category = 'Jewelry'
+   and   s_gmt_offset = -7
+   and   d_year = 1999
+   and   d_moy  = 11) all_sales
+order by promotions, total
+limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.61"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF10[c_current_addr_sk->[ca_address_sk],RF9[ss_item_sk->[i_item_sk],RF8[ss_customer_sk->[c_customer_sk],RF7[ss_promo_sk->[p_promo_sk],RF6[ss_sold_date_sk->[d_date_sk],RF5[s_store_sk->[ss_store_sk],RF4[c_current_addr_sk->[ca_address_sk],RF3[ss_item_sk->[i_item_sk],RF2[ss_sold_date_sk->[d_date_sk],RF1[ss_customer_sk->[c_customer_sk],RF0[s_store_sk->[ss_store_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf62.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf62.groovy
index 8a044331c36..716b618daa0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf62.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf62.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf62") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf62") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
    substr(w_warehouse_name,1,20)
   ,sm_type
@@ -64,26 +64,26 @@ order by substr(w_warehouse_name,1,20)
         ,sm_type
        ,web_name
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.62"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[w_warehouse_sk->[ws_warehouse_sk],RF2[sm_ship_mode_sk->[ws_ship_mode_sk],RF1[web_site_sk->[ws_web_site_sk],RF0[d_date_sk->[ws_ship_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.62"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[w_warehouse_sk->[ws_warehouse_sk],RF2[sm_ship_mode_sk->[ws_ship_mode_sk],RF1[web_site_sk->[ws_web_site_sk],RF0[d_date_sk->[ws_ship_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf63.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf63.groovy
index 55148d4a047..18697740e60 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf63.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf63.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf63") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf63") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  * 
 from (select i_manager_id
              ,sum(ss_sales_price) sum_sales
@@ -58,26 +58,26 @@ order by i_manager_id
         ,avg_monthly_sales
         ,sum_sales
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.63"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.63"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf64.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf64.groovy
index 2542bf98e39..9a92477ee23 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf64.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf64.groovy
@@ -167,9 +167,9 @@ order by cs1.product_name
         }
     }
     
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.64"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.64"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
     
-     //assertEquals("RF19[c_first_shipto_date_sk->[d_date_sk],RF18[c_current_addr_sk->[ca_address_sk],RF17[ss_item_sk->[cs_item_sk],RF15[cr_order_number->[cs_order_number],RF16[cr_item_sk->[cs_item_sk],RF14[hd_income_band_sk->[ib_income_band_sk],RF13[c_first_sales_date_sk->[d_date_sk],RF12[c_current_hdemo_sk->[hd_demo_sk],RF11[ss_promo_sk->[p_promo_sk],RF10[hd_income_band_sk->[ib_income_band_sk],RF8[ss_item_sk->[sr_item_sk],RF9[ss_ticket_number->[sr_ticket_number],RF7[c_current_cdemo_sk- [...]
+    assertEquals("RF18[ss_item_sk->[sr_item_sk],RF19[ss_ticket_number->[sr_ticket_number],RF17[cs_item_sk->[ss_item_sk],RF16[ss_addr_sk->[ca_address_sk],RF15[ca_address_sk->[c_current_addr_sk],RF14[d_date_sk->[c_first_sales_date_sk],RF13[ss_cdemo_sk->[cd_demo_sk],RF12[c_current_cdemo_sk->[cd_demo_sk],RF11[ib_income_band_sk->[hd_income_band_sk],RF10[d_date_sk->[c_first_shipto_date_sk],RF9[hd_demo_sk->[c_current_hdemo_sk],RF8[ss_customer_sk->[c_customer_sk],RF7[s_store_sk->[ss_store_sk],RF [...]
 }
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf65.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf65.groovy
index ea0856c3030..7856c01a6e2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf65.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf65.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf65") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf65") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select 
 	s_store_name,
 	i_item_desc,
@@ -58,26 +58,26 @@ suite("ds_rf65") {
        i_item_sk = sc.ss_item_sk
  order by s_store_name, i_item_desc
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.65"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF4[s_store_sk->[ss_store_sk],RF3[i_item_sk->[ss_item_sk],RF2[ss_store_sk->[ss_store_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.65"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF4[s_store_sk->[ss_store_sk],RF3[i_item_sk->[ss_item_sk],RF2[ss_store_sk->[ss_store_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf66.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf66.groovy
index d6011f9c721..c49827ceac0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf66.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf66.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf66") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf66") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select   
          w_warehouse_name
  	,w_warehouse_sq_ft
@@ -249,26 +249,26 @@ suite("ds_rf66") {
        ,year
  order by w_warehouse_name
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.66"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[w_warehouse_sk->[ws_warehouse_sk],RF2[t_time_sk->[ws_sold_time_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[sm_ship_mode_sk->[ws_ship_mode_sk],RF7[w_warehouse_sk->[cs_warehouse_sk],RF6[t_time_sk->[cs_sold_time_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[sm_ship_mode_sk->[cs_ship_mode_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.66"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[w_warehouse_sk->[ws_warehouse_sk],RF2[t_time_sk->[ws_sold_time_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[sm_ship_mode_sk->[ws_ship_mode_sk],RF7[w_warehouse_sk->[cs_warehouse_sk],RF6[t_time_sk->[cs_sold_time_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[sm_ship_mode_sk->[cs_ship_mode_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf67.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf67.groovy
index e3dd38c7391..f63c37d66f2 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf67.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf67.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf67") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf67") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  *
 from (select i_category
             ,i_class
@@ -73,26 +73,26 @@ order by i_category
         ,sumsales
         ,rk
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.67"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.67"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[s_store_sk->[ss_store_sk],RF1[i_item_sk->[ss_item_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf68.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf68.groovy
index 6acaed55b9b..3d5a091859a 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf68.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf68.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf68") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf68") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  c_last_name
        ,c_first_name
        ,ca_city
@@ -71,26 +71,26 @@ suite("ds_rf68") {
  order by c_last_name
          ,ss_ticket_number
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.68"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF5[c_current_addr_sk->[ca_address_sk],RF4[ss_customer_sk->[c_customer_sk],RF3[ss_addr_sk->[ca_address_sk],RF2[hd_demo_sk->[ss_hdemo_sk],RF1[s_store_sk->[ss_store_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.68"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF5[c_current_addr_sk->[ca_address_sk],RF4[ss_customer_sk->[c_customer_sk],RF3[ss_addr_sk->[ca_address_sk],RF2[hd_demo_sk->[ss_hdemo_sk],RF1[s_store_sk->[ss_store_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf69.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf69.groovy
index b6990127826..4635a7f79f0 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf69.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf69.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf69") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf69") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
   cd_gender,
   cd_marital_status,
@@ -76,26 +76,26 @@ suite("ds_rf69") {
           cd_purchase_estimate,
           cd_credit_rating
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.69"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF7[c_customer_sk->[ss_customer_sk],RF6[d_date_sk->[ss_sold_date_sk],RF5[c_customer_sk->[cs_ship_customer_sk],RF4[d_date_sk->[cs_sold_date_sk],RF3[c_current_cdemo_sk->[cd_demo_sk],RF2[c_customer_sk->[ws_bill_customer_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.69"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF7[c_customer_sk->[ss_customer_sk],RF6[d_date_sk->[ss_sold_date_sk],RF5[c_customer_sk->[cs_ship_customer_sk],RF4[d_date_sk->[cs_sold_date_sk],RF3[c_current_cdemo_sk->[cd_demo_sk],RF2[c_customer_sk->[ws_bill_customer_sk],RF1[d_date_sk->[ws_sold_date_sk],RF0[ca_address_sk->[c_current_addr_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf7.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf7.groovy
index 4df10c25ea7..988cb6222cc 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf7.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf7.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf7") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf7") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  i_item_id, 
         avg(ss_quantity) agg1,
         avg(ss_list_price) agg2,
@@ -50,26 +50,26 @@ suite("ds_rf7") {
  group by i_item_id
  order by i_item_id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.7"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[i_item_sk->[ss_item_sk],RF2[p_promo_sk->[ss_promo_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[cd_demo_sk->[ss_cdemo_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.7"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[i_item_sk->[ss_item_sk],RF2[p_promo_sk->[ss_promo_sk],RF1[d_date_sk->[ss_sold_date_sk],RF0[cd_demo_sk->[ss_cdemo_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf70.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf70.groovy
index f0e55374d3f..e7b8268ec16 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf70.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf70.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf70") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf70") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  
     sum(ss_net_profit) as total_sum
    ,s_state
@@ -67,26 +67,26 @@ suite("ds_rf70") {
   ,case when lochierarchy = 0 then s_state end
   ,rank_within_parent
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.70"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF4[s_store_sk->[ss_store_sk],RF3[d_date_sk->[ss_sold_date_sk],RF2[s_state->[s_state],RF1[s_store_sk->[ss_store_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.70"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF4[s_store_sk->[ss_store_sk],RF3[d_date_sk->[ss_sold_date_sk],RF2[s_state->[s_state],RF1[s_store_sk->[ss_store_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf71.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf71.groovy
index 27b946f6211..77c09db07a4 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf71.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf71.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf71") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf71") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select i_brand_id brand_id, i_brand brand,t_hour,t_minute,
  	sum(ext_price) ext_price
  from item, (select ws_ext_sales_price as ext_price, 
@@ -69,26 +69,26 @@ suite("ds_rf71") {
  group by i_brand, i_brand_id,t_hour,t_minute
  order by ext_price desc, i_brand_id
  ;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.71"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF0[d_date_sk->[ws_sold_date_sk],RF1[d_date_sk->[cs_sold_date_sk],RF2[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.71"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF0[d_date_sk->[ws_sold_date_sk],RF1[d_date_sk->[cs_sold_date_sk],RF2[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
index 2ce7b3f61e1..58948f3bfb5 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf72.groovy
@@ -1,83 +1,83 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf72") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
-    select  i_item_desc
-      ,w_warehouse_name
-      ,d1.d_week_seq
-      ,sum(case when p_promo_sk is null then 1 else 0 end) no_promo
-      ,sum(case when p_promo_sk is not null then 1 else 0 end) promo
-      ,count(*) total_cnt
-from catalog_sales
-join inventory on (cs_item_sk = inv_item_sk)
-join warehouse on (w_warehouse_sk=inv_warehouse_sk)
-join item on (i_item_sk = cs_item_sk)
-join customer_demographics on (cs_bill_cdemo_sk = cd_demo_sk)
-join household_demographics on (cs_bill_hdemo_sk = hd_demo_sk)
-join date_dim d1 on (cs_sold_date_sk = d1.d_date_sk)
-join date_dim d2 on (inv_date_sk = d2.d_date_sk)
-join date_dim d3 on (cs_ship_date_sk = d3.d_date_sk)
-left outer join promotion on (cs_promo_sk=p_promo_sk)
-left outer join catalog_returns on (cr_item_sk = cs_item_sk and cr_order_number = cs_order_number)
-where d1.d_week_seq = d2.d_week_seq
-  and inv_quantity_on_hand < cs_quantity 
-  and (d3.d_date > (d1.d_date + INTERVAL  '5' DAY))
-  and hd_buy_potential = '501-1000'
-  and d1.d_year = 2002
-  and cd_marital_status = 'W'
-group by i_item_desc,w_warehouse_name,d1.d_week_seq
-order by total_cnt desc, i_item_desc, w_warehouse_name, d_week_seq
-limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.72"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-
-     assertEquals("RF8[w_warehouse_sk->[inv_warehouse_sk],RF6[d_date_sk->[inv_date_sk],RF7[cs_item_sk->[inv_item_sk],RF5[d_week_seq->[d_week_seq],RF4[i_item_sk->[cs_item_sk],RF3[d_date_sk->[cs_ship_date_sk],RF2[cd_demo_sk->[cs_bill_cdemo_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[hd_demo_sk->[cs_bill_hdemo_sk]", getRuntimeFilters(plan))
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf72") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
+    select  i_item_desc
+        ,w_warehouse_name
+        ,d1.d_week_seq
+        ,sum(case when p_promo_sk is null then 1 else 0 end) no_promo
+        ,sum(case when p_promo_sk is not null then 1 else 0 end) promo
+        ,count(*) total_cnt
+    from catalog_sales
+    join inventory on (cs_item_sk = inv_item_sk)
+    join warehouse on (w_warehouse_sk=inv_warehouse_sk)
+    join item on (i_item_sk = cs_item_sk)
+    join customer_demographics on (cs_bill_cdemo_sk = cd_demo_sk)
+    join household_demographics on (cs_bill_hdemo_sk = hd_demo_sk)
+    join date_dim d1 on (cs_sold_date_sk = d1.d_date_sk)
+    join date_dim d2 on (inv_date_sk = d2.d_date_sk)
+    join date_dim d3 on (cs_ship_date_sk = d3.d_date_sk)
+    left outer join promotion on (cs_promo_sk=p_promo_sk)
+    left outer join catalog_returns on (cr_item_sk = cs_item_sk and cr_order_number = cs_order_number)
+    where d1.d_week_seq = d2.d_week_seq
+    and inv_quantity_on_hand < cs_quantity 
+    and (d3.d_date > (d1.d_date + INTERVAL  '5' DAY))
+    and hd_buy_potential = '501-1000'
+    and d1.d_year = 2002
+    and cd_marital_status = 'W'
+    group by i_item_desc,w_warehouse_name,d1.d_week_seq
+    order by total_cnt desc, i_item_desc, w_warehouse_name, d_week_seq
+    limit 100;
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.72"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF9[cs_item_sk->[cr_item_sk],RF10[cs_order_number->[cr_order_number],RF8[w_warehouse_sk->[inv_warehouse_sk],RF7[cs_item_sk->[i_item_sk],RF5[d_date_sk->[inv_date_sk],RF6[cs_item_sk->[inv_item_sk],RF4[d_week_seq->[d_week_seq],RF3[d_date_sk->[cs_ship_date_sk],RF2[cd_demo_sk->[cs_bill_cdemo_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[hd_demo_sk->[cs_bill_hdemo_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf73.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf73.groovy
index ae91db3b06a..6f4483b6477 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf73.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf73.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf73") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf73") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select c_last_name
        ,c_first_name
        ,c_salutation
@@ -57,26 +57,26 @@ suite("ds_rf73") {
     where ss_customer_sk = c_customer_sk
       and cnt between 1 and 5
     order by cnt desc, c_last_name asc;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.73"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[ss_customer_sk->[c_customer_sk],RF2[s_store_sk->[ss_store_sk],RF1[hd_demo_sk->[ss_hdemo_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.73"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[ss_customer_sk->[c_customer_sk],RF2[s_store_sk->[ss_store_sk],RF1[hd_demo_sk->[ss_hdemo_sk],RF0[d_date_sk->[ss_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf74.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf74.groovy
index 3d07c889d95..5c1ed392d99 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf74.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf74.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf74") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf74") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with year_total as (
  select c_customer_id customer_id
        ,c_first_name customer_first_name
@@ -90,26 +90,26 @@ suite("ds_rf74") {
            > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end
  order by 2,1,3
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.74"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[ws_bill_customer_sk],RF2[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.74"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[c_customer_sk->[ss_customer_sk],RF0[d_date_sk->[ss_sold_date_sk],RF3[c_customer_sk->[ws_bill_customer_sk],RF2[d_date_sk->[ws_sold_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf75.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf75.groovy
index eb6fe5390fb..99e28f87574 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf75.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf75.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf75") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf75") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     WITH all_sales AS (
  SELECT d_year
        ,i_brand_id
@@ -99,26 +99,26 @@ suite("ds_rf75") {
    AND CAST(curr_yr.sales_cnt AS DECIMAL(17,2))/CAST(prev_yr.sales_cnt AS DECIMAL(17,2))<0.9
  ORDER BY sales_cnt_diff,sales_amt_diff
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.75"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF2[cs_order_number->[cr_order_number],RF3[cs_item_sk->[cr_item_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk],RF6[ss_ticket_number->[sr_ticket_number],RF7[ss_item_sk->[sr_item_sk],RF5[d_date_sk->[ss_sold_date_sk],RF4[i_item_sk->[ss_item_sk],RF10[ws_order_number->[wr_order_number],RF11[ws_item_sk->[wr_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_sk->[ws_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.75"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF2[cs_order_number->[cr_order_number],RF3[cs_item_sk->[cr_item_sk],RF1[d_date_sk->[cs_sold_date_sk],RF0[i_item_sk->[cs_item_sk],RF6[ss_ticket_number->[sr_ticket_number],RF7[ss_item_sk->[sr_item_sk],RF5[d_date_sk->[ss_sold_date_sk],RF4[i_item_sk->[ss_item_sk],RF10[ws_order_number->[wr_order_number],RF11[ws_item_sk->[wr_item_sk],RF9[d_date_sk->[ws_sold_date_sk],RF8[i_item_sk->[ws_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf76.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf76.groovy
index e34cdeb7c32..22267b69c27 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf76.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf76.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf76") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf76") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     select  channel, col_name, d_year, d_qoy, i_category, COUNT(*) sales_cnt, SUM(ext_sales_price) sales_amt FROM (
         SELECT 'store' as channel, 'ss_hdemo_sk' col_name, d_year, d_qoy, i_category, ss_ext_sales_price ext_sales_price
          FROM store_sales, item, date_dim
@@ -53,26 +53,26 @@ suite("ds_rf76") {
 GROUP BY channel, col_name, d_year, d_qoy, i_category
 ORDER BY channel, col_name, d_year, d_qoy, i_category
 limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.76"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk],RF3[d_date_sk->[ws_sold_date_sk],RF2[i_item_sk->[ws_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_sk->[cs_item_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.76"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF1[d_date_sk->[ss_sold_date_sk],RF0[i_item_sk->[ss_item_sk],RF3[d_date_sk->[ws_sold_date_sk],RF2[i_item_sk->[ws_item_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[i_item_sk->[cs_item_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf77.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf77.groovy
index b7e8d8fca1c..16b62ea502d 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf77.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf77.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf77") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("ds_rf77") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G'
+    sql 'set be_number_for_test=3'
+    sql 'set parallel_fragment_exec_instance_num=8; '
+    sql 'set parallel_pipeline_task_num=8; '
+    sql 'set forbid_unknown_col_stats=true'
+    sql 'set broadcast_row_count_limit = 30000000'
+    sql 'set enable_nereids_timeout = false'
+    sql 'set enable_pipeline_engine=true'
+    String stmt = '''
+    explain physical plan
     with ss as
  (select s_store_sk,
          sum(ss_ext_sales_price) as sales,
@@ -137,26 +137,26 @@ suite("ds_rf77") {
  order by channel
          ,id
  limit 100;
-
-    '''
-    String plan = sql "${stmt}"
-    println plan
-    def getRuntimeFilters = { plantree ->
-        {
-            def lst = []
-            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
-                ch ->
-                    {
-                        lst.add(ch.replaceAll("#\\d+", ''))
-                    }
-            }
-            return lst.join(',')
-        }
-    }
-    
-    // def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.77"
-    // File file = new File(outFile)
-    // file.write(getRuntimeFilters(plan))
-    
-     assertEquals("RF3[s_store_sk->[ss_store_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[s_store_sk->[sr_store_sk],RF0[d_date_sk->[sr_returned_date_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[d_date_sk->[cr_returned_date_sk],RF9[wp_web_page_sk->[ws_web_page_sk],RF8[d_date_sk->[ws_sold_date_sk],RF7[wp_web_page_sk->[wr_web_page_sk],RF6[d_date_sk->[wr_returned_date_sk]", getRuntimeFilters(plan))
-}
+
+    '''
+    String plan = sql "${stmt}"
+    println plan
+    def getRuntimeFilters = { plantree ->
+        {
+            def lst = []
+            plantree.eachMatch("RF\\d+\\[[^#]+#\\d+->\\[[^\\]]+\\]") {
+                ch ->
+                    {
+                        lst.add(ch.replaceAll("#\\d+", ''))
+                    }
+            }
+            return lst.join(',')
+        }
+    }
+    
+    //def outFile = "regression-test/suites/nereids_tpcds_shape_sf100_p0/ddl/rf/rf.77"
+    //File file = new File(outFile)
+    //file.write(getRuntimeFilters(plan))
+    
+    assertEquals("RF3[s_store_sk->[ss_store_sk],RF2[d_date_sk->[ss_sold_date_sk],RF1[s_store_sk->[sr_store_sk],RF0[d_date_sk->[sr_returned_date_sk],RF5[d_date_sk->[cs_sold_date_sk],RF4[d_date_sk->[cr_returned_date_sk],RF9[wp_web_page_sk->[ws_web_page_sk],RF8[d_date_sk->[ws_sold_date_sk],RF7[wp_web_page_sk->[wr_web_page_sk],RF6[d_date_sk->[wr_returned_date_sk]", getRuntimeFilters(plan))
+}
diff --git a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf78.groovy b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf78.groovy
index eece3c74cf1..ff672d6ce35 100644
--- a/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf78.groovy
+++ b/regression-test/suites/nereids_tpcds_shape_sf100_p0/rf/ds_rf78.groovy
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-suite("ds_rf78") {
-    String db = context.config.getDbNameByFile(new File(context.file.parent))
-    sql "use ${db}"
-    sql 'set enable_nereids_planner=true'
-    sql 'set enable_fallback_to_original_planner=false'
-    sql 'set exec_mem_limit=21G'
-    sql 'set be_number_for_test=3'
-    sql 'set parallel_fragment_exec_instance_num=8; '
-    sql 'set parallel_pipeline_task_num=8; '
-    sql 'set forbid_unknown_col_stats=true'
-    sql 'set broadcast_row_count_limit = 30000000'
-    sql 'set enable_nereids_timeout = false'
-    sql 'set enable_pipeline_engine=true'
-    String stmt = '''
-    explain physical plan
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
... 7475 lines suppressed ...


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