This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 779a51570e7 [opt](mtmv) Set query rewrite by materialized view default
enable (#35897) (#36949)
779a51570e7 is described below
commit 779a51570e7a469e3365187ace318b1290a1415b
Author: seawinde <[email protected]>
AuthorDate: Mon Jul 8 14:29:38 2024 +0800
[opt](mtmv) Set query rewrite by materialized view default enable (#35897)
(#36949)
cherry pick from master
pr: #35897
commitId: 603fa82f
---
.../main/java/org/apache/doris/catalog/Env.java | 5 ++
.../mv/AbstractMaterializedViewRule.java | 8 --
.../mv/InitMaterializationContextHook.java | 53 +++++++------
.../java/org/apache/doris/qe/SessionVariable.java | 4 +-
.../joinorder/hypergraph/CompareOuterJoinTest.java | 1 +
.../rules/rewrite/SimplifyAggGroupByTest.java | 19 +++--
.../nereids_rules_p0/mv/partition_mv_rewrite.out | 64 ----------------
.../agg_with_roll_up/aggregate_with_roll_up.groovy | 3 -
.../aggregate_without_roll_up.groovy | 4 -
.../mv/availability/grace_period.groovy | 3 -
.../availability/materialized_view_switch.groovy | 3 -
.../mv/dimension/dimension_1.groovy | 3 -
.../mv/dimension/dimension_2_3.groovy | 3 -
.../mv/dimension/dimension_2_4.groovy | 3 -
.../mv/dimension/dimension_2_5.groovy | 3 -
.../mv/dimension/dimension_2_6.groovy | 3 -
.../mv/dimension/dimension_2_full_join.groovy | 3 -
.../mv/dimension/dimension_2_inner_join.groovy | 3 -
.../mv/dimension/dimension_2_left_anti_join.groovy | 3 -
.../mv/dimension/dimension_2_left_join.groovy | 3 -
.../mv/dimension/dimension_2_left_semi_join.groovy | 3 -
.../dimension/dimension_2_right_anti_join.groovy | 3 -
.../mv/dimension/dimension_2_right_join.groovy | 3 -
.../dimension/dimension_2_right_semi_join.groovy | 3 -
.../mv/dimension/dimension_self_conn.groovy | 3 -
.../dimension_2_join_agg.groovy | 3 -
.../filter_equal_or_notequal.groovy | 3 -
.../mv/join/dphyp_inner/inner_join_dphyp.groovy | 3 -
.../mv/join/dphyp_outer/outer_join_dphyp.groovy | 3 -
.../mv/join/inner/inner_join.groovy | 3 -
.../mv/join/left_outer/outer_join.groovy | 3 -
.../mv/negative/negative_test.groovy | 3 -
.../mv/nested/nested_materialized_view.groovy | 3 -
.../mv/partition_mv_rewrite.groovy | 88 ----------------------
.../nereids_rules_p0/mv/scan/scan_table.groovy | 3 -
.../nereids_rules_p0/mv/ssb/mv_ssb_test.groovy | 3 -
.../nereids_rules_p0/mv/tpch/mv_tpch_test.groovy | 3 -
.../partition_curd_union_rewrite.groovy | 3 -
.../mv/union_rewrite/usercase_union_rewrite.groovy | 4 -
39 files changed, 51 insertions(+), 286 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index dabe2131c88..e1413212fa6 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -1550,6 +1550,11 @@ public class Env {
SessionVariable.NEREIDS_TIMEOUT_SECOND, "30");
}
}
+ if (journalVersion <= FeMetaVersion.VERSION_129) {
+ VariableMgr.refreshDefaultSessionVariables("2.0 to 2.1",
+ SessionVariable.ENABLE_MATERIALIZED_VIEW_REWRITE,
+ "true");
+ }
}
getPolicyMgr().createDefaultStoragePolicy();
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/AbstractMaterializedViewRule.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/AbstractMaterializedViewRule.java
index d7d6a634f7a..32d42b420f7 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/AbstractMaterializedViewRule.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/AbstractMaterializedViewRule.java
@@ -279,14 +279,6 @@ public abstract class AbstractMaterializedViewRule
implements ExplorationRuleFac
boolean partitionNeedUnion =
needUnionRewrite(invalidPartitions, cascadesContext);
final Pair<Map<BaseTableInfo, Set<String>>, Map<BaseTableInfo,
Set<String>>> finalInvalidPartitions =
invalidPartitions;
- if (partitionNeedUnion &&
!sessionVariable.isEnableMaterializedViewUnionRewrite()) {
- // if use invalid partition but not enable union rewrite
- materializationContext.recordFailReason(queryStructInfo,
- "Partition query used is invalid",
- () -> String.format("the partition used by query
is invalid by materialized view,"
- + "invalid partition info query used is
%s", finalInvalidPartitions));
- continue;
- }
if (partitionNeedUnion) {
MTMV mtmv = ((AsyncMaterializationContext)
materializationContext).getMtmv();
Plan originPlanWithFilter =
StructInfo.addFilterOnTableScan(queryPlan, invalidPartitions.value(),
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java
index 077262f0356..5d9f6f85689 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java
@@ -20,7 +20,6 @@ package org.apache.doris.nereids.rules.exploration.mv;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.MTMV;
import org.apache.doris.catalog.TableIf;
-import org.apache.doris.common.AnalysisException;
import org.apache.doris.mtmv.BaseTableInfo;
import org.apache.doris.mtmv.MTMVCache;
import org.apache.doris.nereids.CascadesContext;
@@ -62,12 +61,18 @@ public class InitMaterializationContextHook implements
PlannerHook {
if
(!cascadesContext.getConnectContext().getSessionVariable().isEnableMaterializedViewRewrite())
{
return;
}
- Plan rewritePlan = cascadesContext.getRewritePlan();
TableCollectorContext collectorContext = new
TableCollectorContext(Sets.newHashSet(), true);
- // Keep use one connection context when in query, if new connect
context,
- // the ConnectionContext.get() will change
-
collectorContext.setConnectContext(cascadesContext.getConnectContext());
- rewritePlan.accept(TableCollector.INSTANCE, collectorContext);
+ try {
+ Plan rewritePlan = cascadesContext.getRewritePlan();
+ // Keep use one connection context when in query, if new connect
context,
+ // the ConnectionContext.get() will change
+
collectorContext.setConnectContext(cascadesContext.getConnectContext());
+ rewritePlan.accept(TableCollector.INSTANCE, collectorContext);
+ } catch (Exception e) {
+ LOG.warn(String.format("MaterializationContext init table collect
fail, current queryId is %s",
+ cascadesContext.getConnectContext().getQueryIdentifier()),
e);
+ return;
+ }
Set<TableIf> collectedTables = collectorContext.getCollectedTables();
if (collectedTables.isEmpty()) {
return;
@@ -77,30 +82,32 @@ public class InitMaterializationContextHook implements
PlannerHook {
Set<MTMV> availableMTMVs =
Env.getCurrentEnv().getMtmvService().getRelationManager()
.getAvailableMTMVs(usedBaseTables,
cascadesContext.getConnectContext());
if (availableMTMVs.isEmpty()) {
- LOG.warn(String.format("enable materialized view rewrite but
availableMTMVs is empty, current queryId "
- + "is %s",
cascadesContext.getConnectContext().getQueryIdentifier()));
+ LOG.debug(String.format("Enable materialized view rewrite but
availableMTMVs is empty, current queryId "
+ + "is %s",
cascadesContext.getConnectContext().getQueryIdentifier()));
return;
}
for (MTMV materializedView : availableMTMVs) {
MTMVCache mtmvCache = null;
try {
mtmvCache =
materializedView.getOrGenerateCache(cascadesContext.getConnectContext());
- } catch (AnalysisException e) {
- LOG.warn("MaterializationContext init mv cache generate fail",
e);
- }
- if (mtmvCache == null) {
- continue;
+ if (mtmvCache == null) {
+ continue;
+ }
+ // For async materialization context, the cascades context
when construct the struct info maybe
+ // different from the current cascadesContext
+ // so regenerate the struct info table bitset
+ StructInfo mvStructInfo = mtmvCache.getStructInfo();
+ BitSet tableBitSetInCurrentCascadesContext = new BitSet();
+ mvStructInfo.getRelations().forEach(relation ->
tableBitSetInCurrentCascadesContext.set(
+
cascadesContext.getStatementContext().getTableId(relation.getTable()).asInt()));
+ cascadesContext.addMaterializationContext(new
AsyncMaterializationContext(materializedView,
+ mtmvCache.getLogicalPlan(),
mtmvCache.getOriginalPlan(), ImmutableList.of(),
+ ImmutableList.of(), cascadesContext,
+
mtmvCache.getStructInfo().withTableBitSet(tableBitSetInCurrentCascadesContext)));
+ } catch (Exception e) {
+ LOG.warn(String.format("MaterializationContext init mv cache
generate fail, current queryId is %s",
+
cascadesContext.getConnectContext().getQueryIdentifier()), e);
}
- // For async materialization context, the cascades context when
construct the struct info maybe
- // different from the current cascadesContext
- // so regenerate the struct info table bitset
- StructInfo mvStructInfo = mtmvCache.getStructInfo();
- BitSet tableBitSetInCurrentCascadesContext = new BitSet();
- mvStructInfo.getRelations().forEach(relation ->
tableBitSetInCurrentCascadesContext.set(
-
cascadesContext.getStatementContext().getTableId(relation.getTable()).asInt()));
- cascadesContext.addMaterializationContext(new
AsyncMaterializationContext(materializedView,
- mtmvCache.getLogicalPlan(), mtmvCache.getOriginalPlan(),
ImmutableList.of(), ImmutableList.of(),
- cascadesContext,
mtmvCache.getStructInfo().withTableBitSet(tableBitSetInCurrentCascadesContext)));
}
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index d7e5b3a740b..fe288ea12c9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -1709,7 +1709,7 @@ public class SessionVariable implements Serializable,
Writable {
@VariableMgr.VarAttr(name = ENABLE_MATERIALIZED_VIEW_REWRITE, needForward
= true,
description = {"是否开启基于结构信息的物化视图透明改写",
"Whether to enable materialized view rewriting based on
struct info"})
- public boolean enableMaterializedViewRewrite = false;
+ public boolean enableMaterializedViewRewrite = true;
@VariableMgr.VarAttr(name = ALLOW_MODIFY_MATERIALIZED_VIEW_DATA,
needForward = true,
description = {"是否允许修改物化视图的数据",
@@ -1736,7 +1736,7 @@ public class SessionVariable implements Serializable,
Writable {
description = {"当物化视图不足以提供查询的全部数据时,是否允许基表和物化视图 union 来响应查询",
"When the materialized view is not enough to provide all
the data for the query, "
+ "whether to allow the union of the base table
and the materialized view to "
- + "respond to the query"})
+ + "respond to the query"}, varType =
VariableAnnotation.DEPRECATED)
public boolean enableMaterializedViewUnionRewrite = true;
@VariableMgr.VarAttr(name = ENABLE_MATERIALIZED_VIEW_NEST_REWRITE,
needForward = true,
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/CompareOuterJoinTest.java
b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/CompareOuterJoinTest.java
index 490090a43fb..4465fadbbea 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/CompareOuterJoinTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/CompareOuterJoinTest.java
@@ -68,6 +68,7 @@ class CompareOuterJoinTest extends SqlTestBase {
@Test
void testRandomQuery() {
connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION");
+
connectContext.getSessionVariable().setEnableMaterializedViewRewrite(false);
Plan p1 = new HyperGraphBuilder(Sets.newHashSet(JoinType.INNER_JOIN))
.randomBuildPlanWith(3, 3);
PlanChecker planChecker = PlanChecker.from(connectContext, p1)
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/SimplifyAggGroupByTest.java
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/SimplifyAggGroupByTest.java
index 7a6998df151..34c3b012e76 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/SimplifyAggGroupByTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/SimplifyAggGroupByTest.java
@@ -32,6 +32,7 @@ import
org.apache.doris.nereids.util.MemoPatternMatchSupported;
import org.apache.doris.nereids.util.MemoTestUtils;
import org.apache.doris.nereids.util.PlanChecker;
import org.apache.doris.nereids.util.PlanConstructor;
+import org.apache.doris.qe.ConnectContext;
import com.google.common.collect.ImmutableList;
import org.junit.jupiter.api.Test;
@@ -60,12 +61,14 @@ class SimplifyAggGroupByTest implements
MemoPatternMatchSupported {
LogicalPlan agg = new LogicalPlanBuilder(scan1)
.agg(groupBy, output)
.build();
- PlanChecker.from(MemoTestUtils.createConnectContext(), agg)
+ ConnectContext connectContext = MemoTestUtils.createConnectContext();
+
connectContext.getSessionVariable().setEnableMaterializedViewRewrite(false);
+ PlanChecker.from(connectContext, agg)
.applyTopDown(new SimplifyAggGroupBy())
.matchesFromRoot(
logicalAggregate().when(a ->
a.getGroupByExpressions().size() == 1)
);
- PlanChecker.from(MemoTestUtils.createConnectContext(), agg)
+ PlanChecker.from(connectContext, agg)
.analyze()
.matchesFromRoot(
logicalProject(logicalAggregate().when(a ->
a.getGroupByExpressions().size() == 1))
@@ -87,12 +90,14 @@ class SimplifyAggGroupByTest implements
MemoPatternMatchSupported {
LogicalPlan agg = new LogicalPlanBuilder(scan1)
.agg(groupBy, output)
.build();
- PlanChecker.from(MemoTestUtils.createConnectContext(), agg)
+ ConnectContext connectContext = MemoTestUtils.createConnectContext();
+
connectContext.getSessionVariable().setEnableMaterializedViewRewrite(false);
+ PlanChecker.from(connectContext, agg)
.applyTopDown(new SimplifyAggGroupBy())
.matchesFromRoot(
logicalAggregate().when(a -> a.equals(agg))
);
- PlanChecker.from(MemoTestUtils.createConnectContext(), agg)
+ PlanChecker.from(connectContext, agg)
.analyze()
.matchesFromRoot(
logicalProject(logicalAggregate().when(a ->
a.getGroupByExpressions().size() == 2))
@@ -114,12 +119,14 @@ class SimplifyAggGroupByTest implements
MemoPatternMatchSupported {
LogicalPlan agg = new LogicalPlanBuilder(scan1)
.agg(groupBy, output)
.build();
- PlanChecker.from(MemoTestUtils.createConnectContext(), agg)
+ ConnectContext connectContext = MemoTestUtils.createConnectContext();
+
connectContext.getSessionVariable().setEnableMaterializedViewRewrite(false);
+ PlanChecker.from(connectContext, agg)
.applyTopDown(new SimplifyAggGroupBy())
.matchesFromRoot(
logicalAggregate().when(a -> a.equals(agg))
);
- PlanChecker.from(MemoTestUtils.createConnectContext(), agg)
+ PlanChecker.from(connectContext, agg)
.analyze()
.matchesFromRoot(
logicalProject(logicalAggregate().when(a ->
a.getGroupByExpressions().size() == 2))
diff --git a/regression-test/data/nereids_rules_p0/mv/partition_mv_rewrite.out
b/regression-test/data/nereids_rules_p0/mv/partition_mv_rewrite.out
index f998aaf593f..1aec66cf42f 100644
--- a/regression-test/data/nereids_rules_p0/mv/partition_mv_rewrite.out
+++ b/regression-test/data/nereids_rules_p0/mv/partition_mv_rewrite.out
@@ -1,22 +1,4 @@
-- This file is automatically generated. You should know what you did if you
want to edit this
--- !query_1_0_before --
-2023-10-17 2023-10-17 2 3 199.00
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
--- !query_1_0_after --
-2023-10-17 2023-10-17 2 3 199.00
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
--- !query_2_0_before --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
--- !query_2_0_after --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
-- !query_3_0_before --
2023-10-17 2023-10-17 2 3 199.00
2023-10-18 2023-10-18 2 3 109.20
@@ -35,26 +17,6 @@
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
--- !query_5_0_before --
-2023-10-17 2023-10-17 2 3 199.00
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-2023-10-21 \N 2 3 \N
-
--- !query_5_0_after --
-2023-10-17 2023-10-17 2 3 199.00
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-2023-10-21 \N 2 3 \N
-
--- !query_6_0_before --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
--- !query_6_0_after --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
-- !query_7_0_before --
2023-10-17 2023-10-17 2 3 199.00
2023-10-18 2023-10-18 2 3 109.20
@@ -75,24 +37,6 @@
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
--- !query_9_0_before --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-2023-10-21 \N 2 3 \N
-
--- !query_9_0_after --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-2023-10-21 \N 2 3 \N
-
--- !query_10_0_before --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
--- !query_10_0_after --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
-- !query_11_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
@@ -111,14 +55,6 @@
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
--- !query_14_0_before --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
--- !query_14_0_after --
-2023-10-18 2023-10-18 2 3 109.20
-2023-10-19 2023-10-19 2 3 99.50
-
-- !query_16_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
diff --git
a/regression-test/suites/nereids_rules_p0/mv/agg_with_roll_up/aggregate_with_roll_up.groovy
b/regression-test/suites/nereids_rules_p0/mv/agg_with_roll_up/aggregate_with_roll_up.groovy
index ac1e806bd51..87c582f80c8 100644
---
a/regression-test/suites/nereids_rules_p0/mv/agg_with_roll_up/aggregate_with_roll_up.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/agg_with_roll_up/aggregate_with_roll_up.groovy
@@ -18,11 +18,8 @@
suite("aggregate_with_roll_up") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF";
sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/agg_without_roll_up/aggregate_without_roll_up.groovy
b/regression-test/suites/nereids_rules_p0/mv/agg_without_roll_up/aggregate_without_roll_up.groovy
index b0e82c73d5f..72a6144bcda 100644
---
a/regression-test/suites/nereids_rules_p0/mv/agg_without_roll_up/aggregate_without_roll_up.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/agg_without_roll_up/aggregate_without_roll_up.groovy
@@ -18,12 +18,8 @@
suite("aggregate_without_roll_up") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF";
sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
- sql "SET enable_nereids_timeout = false"
sql "SET enable_agg_state = true"
sql """
diff --git
a/regression-test/suites/nereids_rules_p0/mv/availability/grace_period.groovy
b/regression-test/suites/nereids_rules_p0/mv/availability/grace_period.groovy
index c40997f8989..f4cfbdc4d9a 100644
---
a/regression-test/suites/nereids_rules_p0/mv/availability/grace_period.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/availability/grace_period.groovy
@@ -23,10 +23,7 @@ suite("grace_period") {
// if update will not be used to query rewrite
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_partition
diff --git
a/regression-test/suites/nereids_rules_p0/mv/availability/materialized_view_switch.groovy
b/regression-test/suites/nereids_rules_p0/mv/availability/materialized_view_switch.groovy
index b4ae8b7bfc5..4a9784ed04b 100644
---
a/regression-test/suites/nereids_rules_p0/mv/availability/materialized_view_switch.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/availability/materialized_view_switch.groovy
@@ -19,11 +19,8 @@ suite("materialized_view_switch") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF";
sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_1.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_1.groovy
index e7f4f92cd06..9b5aa76b5ba 100644
--- a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_1.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_1.groovy
@@ -21,9 +21,6 @@ This suite is a one dimensional test case file.
suite("partition_mv_rewrite_dimension_1") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_1
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_3.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_3.groovy
index d261e7c4160..91b50ecd0d2 100644
--- a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_3.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_3.groovy
@@ -22,9 +22,6 @@ It mainly tests the agg function, etc
suite("partition_mv_rewrite_dimension_2_3") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_3
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_4.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_4.groovy
index 5215ab75d20..9535fc2e4ad 100644
--- a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_4.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_4.groovy
@@ -22,9 +22,6 @@ It mainly tests the query partial, view partial, union
rewriting, predicate comp
suite("partition_mv_rewrite_dimension_2_4") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_4
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_5.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_5.groovy
index e392a517801..6f5d4ce42cc 100644
--- a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_5.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_5.groovy
@@ -22,9 +22,6 @@ It mainly tests the query partial, view partial, union
rewriting, predicate comp
suite("partition_mv_rewrite_dimension_2_5") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_5
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_6.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_6.groovy
index 12c7a23448b..39c3d13e09b 100644
--- a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_6.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_6.groovy
@@ -22,9 +22,6 @@ It mainly tests the query partial, view partial, union
rewriting, predicate comp
suite("partition_mv_rewrite_dimension_2_6") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_6
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_full_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_full_join.groovy
index a4572bb5e99..e38ef749ea8 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_full_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_full_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the full join and filter positions.
suite("partition_mv_rewrite_dimension_2_full_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_full_join
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_inner_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_inner_join.groovy
index 97dcdc279e3..932f36f9c78 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_inner_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_inner_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the inner join and filter positions.
suite("partition_mv_rewrite_dimension_2_2") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_2
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_anti_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_anti_join.groovy
index f62d24db6a4..14daf54727d 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_anti_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_anti_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the left anti join and filter positions.
suite("partition_mv_rewrite_dimension_2_left_anti_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_left_anti_join
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_join.groovy
index d5be7599d22..043625335df 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the left join and filter positions.
suite("partition_mv_rewrite_dimension_2_1") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_1
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_semi_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_semi_join.groovy
index bb7841297e0..e5bb974a5b1 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_semi_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_left_semi_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the left semi join and filter positions.
suite("partition_mv_rewrite_dimension_2_left_semi_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_left_semi_join
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_anti_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_anti_join.groovy
index 2b60e58927c..957a1b45a08 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_anti_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_anti_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the right anti join and filter positions.
suite("partition_mv_rewrite_dimension_2_right_anti_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_right_anti_join
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_join.groovy
index ab12b4eb8c7..83c41fd0fd4 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the right join and filter positions.
suite("partition_mv_rewrite_dimension_2_right_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_right_join
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_semi_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_semi_join.groovy
index 0d2a199356c..c1307667685 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_semi_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_2_right_semi_join.groovy
@@ -22,9 +22,6 @@ It mainly tests the right semi join and filter positions.
suite("partition_mv_rewrite_dimension_2_right_semi_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_2_right_semi_join
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_self_conn.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_self_conn.groovy
index 4812c98a4a3..8db90bc40eb 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_self_conn.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension/dimension_self_conn.groovy
@@ -21,9 +21,6 @@ This suite test self connection case
suite("partition_mv_rewrite_dimension_self_conn") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_self_conn
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension_2_join_agg/dimension_2_join_agg.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension_2_join_agg/dimension_2_join_agg.groovy
index f1916220984..4d28ea5f3ed 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension_2_join_agg/dimension_2_join_agg.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension_2_join_agg/dimension_2_join_agg.groovy
@@ -21,9 +21,6 @@ This file is used specifically to test the presence of AGGs
under joins.
suite("dimension_2_join_agg_replenish") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/dimension_equal/filter_equal_or_notequal.groovy
b/regression-test/suites/nereids_rules_p0/mv/dimension_equal/filter_equal_or_notequal.groovy
index bddf6c22d3b..fed1ec06ed7 100644
---
a/regression-test/suites/nereids_rules_p0/mv/dimension_equal/filter_equal_or_notequal.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/dimension_equal/filter_equal_or_notequal.groovy
@@ -19,9 +19,6 @@ suite("filter_equal_or_notequal_case") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_1
diff --git
a/regression-test/suites/nereids_rules_p0/mv/join/dphyp_inner/inner_join_dphyp.groovy
b/regression-test/suites/nereids_rules_p0/mv/join/dphyp_inner/inner_join_dphyp.groovy
index 2c3eb9fe3dd..75b5276e442 100644
---
a/regression-test/suites/nereids_rules_p0/mv/join/dphyp_inner/inner_join_dphyp.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/join/dphyp_inner/inner_join_dphyp.groovy
@@ -18,10 +18,7 @@
suite("inner_join_dphyp") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql "SET enable_dphyp_optimizer = true"
sql """
diff --git
a/regression-test/suites/nereids_rules_p0/mv/join/dphyp_outer/outer_join_dphyp.groovy
b/regression-test/suites/nereids_rules_p0/mv/join/dphyp_outer/outer_join_dphyp.groovy
index d56888e53a0..048d802e274 100644
---
a/regression-test/suites/nereids_rules_p0/mv/join/dphyp_outer/outer_join_dphyp.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/join/dphyp_outer/outer_join_dphyp.groovy
@@ -18,11 +18,8 @@
suite("outer_join_dphyp") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF";
sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql "SET enable_dphyp_optimizer = true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/join/inner/inner_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/join/inner/inner_join.groovy
index 29392c4f5aa..6a990b67b72 100644
--- a/regression-test/suites/nereids_rules_p0/mv/join/inner/inner_join.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/join/inner/inner_join.groovy
@@ -18,10 +18,7 @@
suite("inner_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/join/left_outer/outer_join.groovy
b/regression-test/suites/nereids_rules_p0/mv/join/left_outer/outer_join.groovy
index 0b48642097d..68e323f1eb9 100644
---
a/regression-test/suites/nereids_rules_p0/mv/join/left_outer/outer_join.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/join/left_outer/outer_join.groovy
@@ -18,11 +18,8 @@
suite("outer_join") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF";
sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/negative/negative_test.groovy
b/regression-test/suites/nereids_rules_p0/mv/negative/negative_test.groovy
index 4b60ee60ccd..c8ef5729d4b 100644
--- a/regression-test/suites/nereids_rules_p0/mv/negative/negative_test.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/negative/negative_test.groovy
@@ -21,9 +21,6 @@ This suite is a one dimensional test case file.
suite("negative_partition_mv_rewrite") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_1
diff --git
a/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
b/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
index 235c6a246cf..6219cc7313d 100644
---
a/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
@@ -98,10 +98,7 @@ suite("nested_materialized_view") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql "SET enable_materialized_view_nest_rewrite = true"
def create_mtmv = { db_name, mv_name, mv_sql ->
diff --git
a/regression-test/suites/nereids_rules_p0/mv/partition_mv_rewrite.groovy
b/regression-test/suites/nereids_rules_p0/mv/partition_mv_rewrite.groovy
index ec3d2912df9..198d9808666 100644
--- a/regression-test/suites/nereids_rules_p0/mv/partition_mv_rewrite.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/partition_mv_rewrite.groovy
@@ -20,10 +20,7 @@ import java.text.SimpleDateFormat
suite("partition_mv_rewrite") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
@@ -167,29 +164,7 @@ suite("partition_mv_rewrite") {
"""
waitingPartitionIsExpected("${mv_name}", "p_20231017_20231018", false)
- sql "SET enable_materialized_view_union_rewrite=false;"
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_1_0_before "${all_partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${all_partition_sql}")
- // should rewrite fail when union rewrite disable if sub partition is
invalid
- notContains("${mv_name}(${mv_name})")
- }
- order_qt_query_1_0_after "${all_partition_sql}"
-
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_2_0_before "${partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${partition_sql}")
- // should rewrite successfully when union rewrite disable if doesn't
query invalid partition
- contains("${mv_name}(${mv_name})")
- }
- order_qt_query_2_0_after "${partition_sql}"
-
// enable union rewrite
- sql "SET enable_materialized_view_union_rewrite=true"
sql "SET enable_materialized_view_rewrite=false"
order_qt_query_3_0_before "${all_partition_sql}"
sql "SET enable_materialized_view_rewrite=true"
@@ -213,37 +188,15 @@ suite("partition_mv_rewrite") {
// base table add partition
sql "REFRESH MATERIALIZED VIEW ${mv_name} AUTO"
- sql "SET enable_materialized_view_union_rewrite=false"
waitingMTMVTaskFinished(getJobName(db, mv_name))
sql """
insert into lineitem values
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-21', '2023-10-21',
'2023-10-21', 'a', 'b', 'yyyyyyyyy');
"""
-
waitingPartitionIsExpected("${mv_name}", "p_20231021_20231022", false)
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_5_0_before "${all_partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${all_partition_sql}")
- // should rewrite fail when union rewrite disable if base table add
new partition
- notContains("${mv_name}(${mv_name})")
- }
- order_qt_query_5_0_after "${all_partition_sql}"
-
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_6_0_before "${partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${partition_sql}")
- // should rewrite successfully when union rewrite disable if doesn't
query new partition
- contains("${mv_name}(${mv_name})")
- }
- order_qt_query_6_0_after "${partition_sql}"
// enable union rewrite
- sql "SET enable_materialized_view_union_rewrite=true"
sql "SET enable_materialized_view_rewrite=false"
order_qt_query_7_0_before "${all_partition_sql}"
sql "SET enable_materialized_view_rewrite=true"
@@ -267,35 +220,13 @@ suite("partition_mv_rewrite") {
// base table delete partition test
sql "REFRESH MATERIALIZED VIEW ${mv_name} AUTO"
- sql "SET enable_materialized_view_union_rewrite=false"
waitingMTMVTaskFinished(getJobName(db, mv_name))
sql """ ALTER TABLE lineitem DROP PARTITION IF EXISTS p_20231017 FORCE;
"""
// show partitions will cause error, tmp comment
// waitingPartitionIsExpected("${mv_name}", "p_20231017_20231018", false)
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_9_0_before "${all_partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${all_partition_sql}")
- // should rewrite fail when union rewrite disable if base table delete
partition
- notContains("${mv_name}(${mv_name})")
- }
- order_qt_query_9_0_after "${all_partition_sql}"
-
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_10_0_before "${partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${partition_sql}")
- // should rewrite successfully when union rewrite disable if doesn't
query deleted partition
- contains("${mv_name}(${mv_name})")
- }
- order_qt_query_10_0_after "${partition_sql}"
-
// enable union rewrite
- sql "SET enable_materialized_view_union_rewrite=true"
sql "SET enable_materialized_view_rewrite=false"
order_qt_query_11_0_before "${all_partition_sql}"
sql "SET enable_materialized_view_rewrite=true"
@@ -421,26 +352,7 @@ suite("partition_mv_rewrite") {
create_ttl_mtmv(db, ttl_mv_name, ttl_mv_def_sql)
// test when mv is ttl
- sql "SET enable_materialized_view_union_rewrite=false"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${ttl_all_partition_sql}")
- // should rewrite fail when union rewrite disable and mv is ttl
- notContains("${ttl_mv_name}(${ttl_mv_name})")
- }
-
- sql "SET enable_materialized_view_rewrite=false"
- order_qt_query_14_0_before "${ttl_partition_sql}"
- sql "SET enable_materialized_view_rewrite=true"
- explain {
- sql("${ttl_partition_sql}")
- // should rewrite fail when union rewrite disable and query the
partition which is not in mv
- notContains("${ttl_mv_name}(${ttl_mv_name})")
- }
- order_qt_query_14_0_after "${ttl_partition_sql}"
-
// enable union rewrite
- sql "SET enable_materialized_view_union_rewrite=true"
sql "SET enable_materialized_view_rewrite=true"
explain {
sql("${ttl_all_partition_sql}")
diff --git a/regression-test/suites/nereids_rules_p0/mv/scan/scan_table.groovy
b/regression-test/suites/nereids_rules_p0/mv/scan/scan_table.groovy
index 27a0292dfe0..27c625194a8 100644
--- a/regression-test/suites/nereids_rules_p0/mv/scan/scan_table.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/scan/scan_table.groovy
@@ -18,10 +18,7 @@
suite("mv_scan_table") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git a/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy
b/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy
index 7bbb8f19da9..41e3034234a 100644
--- a/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy
@@ -86,10 +86,7 @@ suite("mv_ssb_test") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql "SET enable_nereids_timeout = false"
def mv1_1 = """
diff --git
a/regression-test/suites/nereids_rules_p0/mv/tpch/mv_tpch_test.groovy
b/regression-test/suites/nereids_rules_p0/mv/tpch/mv_tpch_test.groovy
index 15b9ebf9f23..e033fbebd89 100644
--- a/regression-test/suites/nereids_rules_p0/mv/tpch/mv_tpch_test.groovy
+++ b/regression-test/suites/nereids_rules_p0/mv/tpch/mv_tpch_test.groovy
@@ -84,10 +84,7 @@ suite("mv_tpch_test") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
// mv8 Nereids cost too much time ( > 5s )
sql "SET enable_nereids_timeout=false"
diff --git
a/regression-test/suites/nereids_rules_p0/mv/union_rewrite/partition_curd_union_rewrite.groovy
b/regression-test/suites/nereids_rules_p0/mv/union_rewrite/partition_curd_union_rewrite.groovy
index 90d326ed7ec..2c67a373664 100644
---
a/regression-test/suites/nereids_rules_p0/mv/union_rewrite/partition_curd_union_rewrite.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/union_rewrite/partition_curd_union_rewrite.groovy
@@ -18,10 +18,7 @@
suite ("partition_curd_union_rewrite") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
sql "set runtime_filter_mode=OFF"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders
diff --git
a/regression-test/suites/nereids_rules_p0/mv/union_rewrite/usercase_union_rewrite.groovy
b/regression-test/suites/nereids_rules_p0/mv/union_rewrite/usercase_union_rewrite.groovy
index 30597d57e1c..3b6e51d38a8 100644
---
a/regression-test/suites/nereids_rules_p0/mv/union_rewrite/usercase_union_rewrite.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/union_rewrite/usercase_union_rewrite.groovy
@@ -18,9 +18,6 @@
suite ("usercase_union_rewrite") {
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
- sql "SET enable_nereids_planner=true"
- sql "SET enable_fallback_to_original_planner=false"
- sql "SET enable_materialized_view_rewrite=true"
sql """
drop table if exists orders_user
@@ -163,7 +160,6 @@ suite ("usercase_union_rewrite") {
compare_res(query_stmt + " order by 1,2,3,4,5,6,7,8")
sql """insert into orders_user values (5, 5, 'k', 99.5, 'a', 'b', 1, 'yy',
'2023-10-19');"""
- sql "SET enable_materialized_view_union_rewrite=true"
sleep(10 * 1000)
explain {
sql("${query_stmt}")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]