You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/04/20 10:10:53 UTC
[doris] 06/06: [fix](nereids)disable SelectMaterializedIndexWithAggregate rule (#18380)
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch branch-2.0-alpha
in repository https://gitbox.apache.org/repos/asf/doris.git
commit ed2dd67fd9abee625e98b811d861d33a62798b69
Author: starocean999 <40...@users.noreply.github.com>
AuthorDate: Thu Apr 20 17:02:36 2023 +0800
[fix](nereids)disable SelectMaterializedIndexWithAggregate rule (#18380)
* [fix](nereids)disable SelectMaterializedIndexWithAggregate rule
* rebase code
* disable related test cases
* remove failed test cases for now
---
.../doris/nereids/jobs/batch/NereidsRewriter.java | 4 +-
.../doris/nereids/rules/mv/SelectMvIndexTest.java | 35 ++++++++++
.../nereids/rules/mv/SelectRollupIndexTest.java | 8 +++
.../join/colocate_join_with_rollup.groovy | 21 +++---
.../suites/nereids_syntax_p0/rollup.groovy | 37 +++++------
.../nereids_tpch_shape_sf1000_p0/shape/q21.groovy | 75 ++++++++++++++++++++++
6 files changed, 150 insertions(+), 30 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriter.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriter.java
index fb1769f7c0..d8be8cb357 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriter.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriter.java
@@ -30,7 +30,6 @@ import org.apache.doris.nereids.rules.analysis.LogicalSubQueryAliasToLogicalProj
import org.apache.doris.nereids.rules.expression.ExpressionNormalization;
import org.apache.doris.nereids.rules.expression.ExpressionOptimization;
import org.apache.doris.nereids.rules.expression.ExpressionRewrite;
-import org.apache.doris.nereids.rules.mv.SelectMaterializedIndexWithAggregate;
import org.apache.doris.nereids.rules.mv.SelectMaterializedIndexWithoutAggregate;
import org.apache.doris.nereids.rules.rewrite.logical.AdjustNullable;
import org.apache.doris.nereids.rules.rewrite.logical.AggScalarSubQueryToWindowFunction;
@@ -250,7 +249,8 @@ public class NereidsRewriter extends BatchRewriteJob {
topic("MV optimization",
topDown(
- new SelectMaterializedIndexWithAggregate(),
+ // TODO: enable this rule after https://github.com/apache/doris/issues/18263 is fixed
+ // new SelectMaterializedIndexWithAggregate(),
new SelectMaterializedIndexWithoutAggregate(),
new PushdownFilterThroughProject(),
new MergeProjects(),
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectMvIndexTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectMvIndexTest.java
index 48306242dd..2e9b53b4b1 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectMvIndexTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectMvIndexTest.java
@@ -152,6 +152,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMvWithTwoTable(union, EMPS_MV_NAME, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggQueryOnAggMV1() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, sum(salary), "
@@ -161,6 +162,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggQueryOnAggMV2() throws Exception {
String agg = "select deptno, sum(salary) from " + EMPS_TABLE_NAME + " group by deptno";
@@ -171,6 +173,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggQueryOnAggMV3() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, commission, sum(salary)"
@@ -197,6 +200,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* There will be a compensating Project added after matching of the Aggregate.
*/
+ @Disabled //ISSUE #18263
@Test
public void testAggQuqeryOnAggMV5() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, commission, sum(salary)"
@@ -210,6 +214,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* There will be a compensating Project + Filter added after matching of the Aggregate.
*/
+ @Disabled //ISSUE #18263
@Test
public void testAggQuqeryOnAggMV6() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, commission, sum(salary)"
@@ -224,6 +229,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
* Aggregation query with groupSets at coarser level of aggregation than
* aggregation materialized view.
*/
+ @Disabled //ISSUE #18263
@Test
public void testGroupingSetQueryOnAggMV() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select empid, deptno, sum(salary) "
@@ -236,6 +242,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* Aggregation query at coarser level of aggregation than aggregation materialized view.
*/
+ @Disabled //ISSUE #18263
@Test
public void testAggQuqeryOnAggMV7() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, commission, sum(salary) "
@@ -245,6 +252,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggQueryOnAggMV8() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, sum(salary) "
@@ -271,6 +279,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* Query with rollup and arithmetic expr
*/
+ @Disabled //ISSUE #18263
@Test
public void testAggQueryOnAggMV10() throws Exception {
String createMVSql = "create materialized view " + EMPS_MV_NAME + " as select deptno, commission, sum(salary) "
@@ -306,6 +315,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMvWithTwoTable(query, EMPS_TABLE_NAME, EMPS_TABLE_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testJoinOnLeftProjectToJoin() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME
@@ -320,6 +330,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, ImmutableMap.of(EMPS_TABLE_NAME, EMPS_MV_NAME, DEPTS_TABLE_NAME, DEPTS_MV_NAME));
}
+ @Disabled //ISSUE #18263
@Test
public void testJoinOnRightProjectToJoin() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select deptno, sum(salary), sum"
@@ -334,6 +345,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, ImmutableMap.of(EMPS_TABLE_NAME, EMPS_MV_NAME, DEPTS_TABLE_NAME, DEPTS_MV_NAME));
}
+ @Disabled //ISSUE #18263
@Test
public void testJoinOnProjectsToJoin() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select deptno, sum(salary), sum"
@@ -444,6 +456,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVAggregateFuncs1() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select empid, deptno, sum(salary) "
@@ -453,6 +466,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVAggregateFuncs2() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select empid, deptno, sum(salary) "
@@ -462,6 +476,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVAggregateFuncs3() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select empid, deptno, sum(salary) "
@@ -471,6 +486,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVAggregateFuncs4() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select empid, deptno, sum(salary) "
@@ -480,6 +496,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVAggregateFuncs5() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select deptno, empid, sum(salary) "
@@ -489,6 +506,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVCalcGroupByQuery1() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select deptno, empid, sum(salary) "
@@ -499,6 +517,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVCalcGroupByQuery2() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select deptno, empid, sum(salary) "
@@ -509,6 +528,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVCalcGroupByQuery3() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select deptno, empid, sum(salary) "
@@ -567,6 +587,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, ImmutableMap.of(EMPS_TABLE_NAME, EMPS_MV_NAME));
}
+ @Disabled //ISSUE #18263
@Test
public void testMultiMVMultiUsage() throws Exception {
String createEmpsMVSql01 = "create materialized view emp_mv_01 as select deptno, empid, salary "
@@ -591,6 +612,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, ImmutableMap.of(EMPS_TABLE_NAME, EMPS_MV_NAME, DEPTS_TABLE_NAME, DEPTS_TABLE_NAME));
}
+ @Disabled //ISSUE #18263
@Test
public void testAggregateMVOnCountDistinctQuery1() throws Exception {
String createEmpsMVsql = "create materialized view " + EMPS_MV_NAME + " as select empid, deptno, sum(salary) "
@@ -728,6 +750,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* bitmap_union_count(to_bitmap()) -> bitmap_union_count without having
*/
+ @Disabled //ISSUE #18263
@Test
public void testBitmapUnionRewrite() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME
@@ -742,6 +765,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* bitmap_union_count(to_bitmap()) -> bitmap_union_count with having
*/
+ @Disabled //ISSUE #18263
@Test
public void testBitmapUnionInQuery() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME
@@ -753,6 +777,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
singleTableTest(query, USER_TAG_MV_NAME, true);
}
+ @Disabled //ISSUE #18263
@Test
public void testBitmapUnionInSubquery() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -792,6 +817,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, ImmutableMap.of("user_tags", "user_tags"));
}
+ @Disabled //ISSUE #18263
@Test
public void testTwoTupleInQuery() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -863,6 +889,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
/**
* count distinct to bitmap_union_count in mv
*/
+ @Disabled //ISSUE #18263
@Test
public void testCountDistinctToBitmap() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -895,6 +922,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, USER_TAG_TABLE_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testNDVToHll() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -918,6 +946,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
// dorisAssert.query(query).explainContains(USER_TAG_MV_NAME, "hll_union_agg");
}
+ @Disabled //ISSUE #18263
@Test
public void testHLLUnionFamilyRewrite() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -966,6 +995,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, EMPS_TABLE_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testCountFieldInQuery() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -982,6 +1012,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, USER_TAG_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void testCreateMVBaseBitmapAggTable() throws Exception {
String createTableSQL = "create table " + HR_DB_NAME + ".agg_table "
@@ -1000,6 +1031,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
dropTable("agg_table", true);
}
+ @Disabled //ISSUE #18263
@Test
public void testSelectMVWithTableAlias() throws Exception {
String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, "
@@ -1016,6 +1048,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
testMv(query, USER_TAG_MV_NAME);
}
+ @Disabled //ISSUE #18263
@Test
public void selectBitmapMvWithProjectTest1() throws Exception {
createTable("create table t(\n"
@@ -1037,6 +1070,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
dropTable("t", true);
}
+ @Disabled //ISSUE #18263
@Test
public void selectBitmapMvWithProjectTest2() throws Exception {
createTable("create table t(\n"
@@ -1058,6 +1092,7 @@ class SelectMvIndexTest extends BaseMaterializedIndexSelectTest implements MemoP
dropTable("t", true);
}
+ @Disabled //ISSUE #18263
@Test
public void selectBitmapMvWithProjectMultiMv() throws Exception {
createTable("create table t(\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectRollupIndexTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectRollupIndexTest.java
index 947a30e449..db0cdfc966 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectRollupIndexTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/mv/SelectRollupIndexTest.java
@@ -98,6 +98,7 @@ class SelectRollupIndexTest extends BaseMaterializedIndexSelectTest implements M
+ ");");
}
+ @Disabled //ISSUE #18263
@Test
public void testAggMatching() {
singleTableTest("select k2, sum(v1) from t group by k2", "r1", true);
@@ -132,6 +133,7 @@ class SelectRollupIndexTest extends BaseMaterializedIndexSelectTest implements M
PlanChecker.from(connectContext).checkPlannerResult("select k2, sum(v1) from t group by k2");
}
+ @Disabled //ISSUE #18263
@Test
public void testTranslateWhenPreAggIsOff() {
singleTableTest("select k2, min(v1) from t group by k2", scan -> {
@@ -313,6 +315,7 @@ class SelectRollupIndexTest extends BaseMaterializedIndexSelectTest implements M
}));
}
+ @Disabled //ISSUE #18263
@Test
public void testKeysOnlyQuery() throws Exception {
singleTableTest("select k1 from t1", "r3", false);
@@ -326,6 +329,7 @@ class SelectRollupIndexTest extends BaseMaterializedIndexSelectTest implements M
/**
* Rollup with all the keys should be used.
*/
+ @Disabled //ISSUE #18263
@Test
public void testRollupWithAllTheKeys() throws Exception {
createTable(" CREATE TABLE `t4` (\n"
@@ -351,16 +355,19 @@ class SelectRollupIndexTest extends BaseMaterializedIndexSelectTest implements M
singleTableTest("select k1, sum(v1) from t4 group by k1", "r1", true);
}
+ @Disabled //ISSUE #18263
@Test
public void testComplexGroupingExpr() throws Exception {
singleTableTest("select k2 + 1, sum(v1) from t group by k2 + 1", "r1", true);
}
+ @Disabled //ISSUE #18263
@Test
public void testCountDistinctKeyColumn() {
singleTableTest("select k2, count(distinct k3) from t group by k2", "r4", true);
}
+ @Disabled //ISSUE #18263
@Test
public void testCountDistinctValueColumn() {
singleTableTest("select k1, count(distinct v1) from t group by k1", scan -> {
@@ -371,6 +378,7 @@ class SelectRollupIndexTest extends BaseMaterializedIndexSelectTest implements M
});
}
+ @Disabled //ISSUE #18263
@Test
public void testOnlyValueColumn1() throws Exception {
singleTableTest("select sum(v1) from t", "r1", true);
diff --git a/regression-test/suites/nereids_p0/join/colocate_join_with_rollup.groovy b/regression-test/suites/nereids_p0/join/colocate_join_with_rollup.groovy
index 73ffd09b4f..235b86b013 100644
--- a/regression-test/suites/nereids_p0/join/colocate_join_with_rollup.groovy
+++ b/regression-test/suites/nereids_p0/join/colocate_join_with_rollup.groovy
@@ -174,16 +174,17 @@ suite("colocate_join_with_rollup", "nereids_p0") {
contains "COLOCATE"
}
- explain {
- // hit diffrent rollup, no colocate
- sql("""select sum_col1,sum_col2
- from
- (select datekey,sum(sum_col1) as sum_col1 from test_query_no_colocate group by datekey) t1
- left join
- (select datekey,sum(sum_col2) as sum_col2 from test_query_no_colocate group by datekey) t2
- on t1.datekey = t2.datekey""")
- notContains "COLOCATE"
- }
+ // ISSUE #18263
+ // explain {
+ // // hit diffrent rollup, no colocate
+ // sql("""select sum_col1,sum_col2
+ // from
+ // (select datekey,sum(sum_col1) as sum_col1 from test_query_no_colocate group by datekey) t1
+ // left join
+ // (select datekey,sum(sum_col2) as sum_col2 from test_query_no_colocate group by datekey) t2
+ // on t1.datekey = t2.datekey""")
+ // notContains "COLOCATE"
+ // }
sql """ DROP TABLE IF EXISTS test_query_colocate1 """
sql """ DROP TABLE IF EXISTS test_query_colocate2 """
diff --git a/regression-test/suites/nereids_syntax_p0/rollup.groovy b/regression-test/suites/nereids_syntax_p0/rollup.groovy
index 0b293b3fa8..f8dba84ee1 100644
--- a/regression-test/suites/nereids_syntax_p0/rollup.groovy
+++ b/regression-test/suites/nereids_syntax_p0/rollup.groovy
@@ -71,26 +71,27 @@ suite("rollup") {
sql "SET enable_fallback_to_original_planner=false"
- explain {
- sql("select k2, sum(v1) from rollup_t1 group by k2")
- contains("rollup_t1(r1)")
- contains("PREAGGREGATION: ON")
- }
+ // ISSUE #18263
+ // explain {
+ // sql("select k2, sum(v1) from rollup_t1 group by k2")
+ // contains("rollup_t1(r1)")
+ // contains("PREAGGREGATION: ON")
+ // }
- explain {
- sql("select k1, sum(v1) from rollup_t1 group by k1")
- contains("rollup_t1(rollup_t1)")
- contains("PREAGGREGATION: ON")
- }
+ // explain {
+ // sql("select k1, sum(v1) from rollup_t1 group by k1")
+ // contains("rollup_t1(rollup_t1)")
+ // contains("PREAGGREGATION: ON")
+ // }
- order_qt_rollup1 "select k2, sum(v1) from rollup_t1 group by k2"
+ // order_qt_rollup1 "select k2, sum(v1) from rollup_t1 group by k2"
- order_qt_rollup2 "select k1, sum(v1) from rollup_t1 group by k1"
+ // order_qt_rollup2 "select k1, sum(v1) from rollup_t1 group by k1"
- explain {
- sql("select k1, max(v1) from rollup_t1 group by k1")
- contains("rollup_t1(rollup_t1)")
- contains("PREAGGREGATION: OFF")
- contains("Aggregate operator don't match, aggregate function: max(v1), column aggregate type: SUM")
- }
+ // explain {
+ // sql("select k1, max(v1) from rollup_t1 group by k1")
+ // contains("rollup_t1(rollup_t1)")
+ // contains("PREAGGREGATION: OFF")
+ // contains("Aggregate operator don't match, aggregate function: max(v1), column aggregate type: SUM")
+ // }
}
diff --git a/regression-test/suites/nereids_tpch_shape_sf1000_p0/shape/q21.groovy b/regression-test/suites/nereids_tpch_shape_sf1000_p0/shape/q21.groovy
new file mode 100644
index 0000000000..131f2d5a7b
--- /dev/null
+++ b/regression-test/suites/nereids_tpch_shape_sf1000_p0/shape/q21.groovy
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q21") {
+ String db = context.config.getDbNameByFile(new File(context.file.parent))
+ sql "use ${db}"
+ sql 'set enable_nereids_planner=true'
+ sql 'set enable_fallback_to_original_planner=false'
+ sql "set runtime_filter_mode='GLOBAL'"
+ sql "set enable_runtime_filter_prune=true"
+ sql 'set exec_mem_limit=21G'
+ sql 'set enable_new_cost_model=false'
+ sql 'set global exec_mem_limit = 21G'
+ sql 'set global broadcast_row_count_limit = 30000000'
+
+ // qt_select """
+ // explain shape plan
+ // select
+ // s_name,
+ // count(*) as numwait
+ // from
+ // supplier,
+ // lineitem l1,
+ // orders,
+ // nation
+ // where
+ // s_suppkey = l1.l_suppkey
+ // and o_orderkey = l1.l_orderkey
+ // and o_orderstatus = 'F'
+ // and l1.l_receiptdate > l1.l_commitdate
+ // and exists (
+ // select
+ // *
+ // from
+ // lineitem l2
+ // where
+ // l2.l_orderkey = l1.l_orderkey
+ // and l2.l_suppkey <> l1.l_suppkey
+ // )
+ // and not exists (
+ // select
+ // *
+ // from
+ // lineitem l3
+ // where
+ // l3.l_orderkey = l1.l_orderkey
+ // and l3.l_suppkey <> l1.l_suppkey
+ // and l3.l_receiptdate > l3.l_commitdate
+ // )
+ // and s_nationkey = n_nationkey
+ // and n_name = 'SAUDI ARABIA'
+ // group by
+ // s_name
+ // order by
+ // numwait desc,
+ // s_name
+ // limit 100;
+ // """
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org