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