From e80728d55df75c5ac5f9a982d46fc12c0b207630 Mon Sep 17 00:00:00 2001 From: seawinde Date: Fri, 10 Oct 2025 20:12:01 +0800 Subject: [PATCH 1/2] [fix](mtmv) Fix create partition mv fail when contain cast and the cast target data type is same to cast source data type --- .../exploration/mv/MaterializedViewUtils.java | 3 +++ .../mv/MaterializedViewUtilsTest.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java index 3341c499904545..2712fa69a4788d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java @@ -50,6 +50,9 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.trees.plans.logical.LogicalRelation; import org.apache.doris.nereids.trees.plans.logical.LogicalSink; +import org.apache.doris.nereids.trees.plans.logical.LogicalResultSink; +import org.apache.doris.nereids.trees.plans.logical.LogicalSink; +import org.apache.doris.nereids.trees.plans.logical.LogicalWindow; import org.apache.doris.nereids.trees.plans.physical.PhysicalCatalogRelation; import org.apache.doris.nereids.trees.plans.physical.PhysicalOlapScan; import org.apache.doris.nereids.trees.plans.physical.PhysicalRelation; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtilsTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtilsTest.java index ae225aec5e9a3c..01219273697836 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtilsTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtilsTest.java @@ -427,6 +427,23 @@ public void getRelatedTableInfoLeftAntiJoinTest() { }); } + @Test + public void partitionContainCastTest() { + PlanChecker.from(connectContext) + .checkExplain("select cast(l_shipdate as date) l_shipdate_d, l_orderkey\n" + + "from lineitem\n", + nereidsPlanner -> { + Plan rewrittenPlan = nereidsPlanner.getRewrittenPlan(); + RelatedTableInfo relatedTableInfo = + MaterializedViewUtils.getRelatedTableInfo("l_shipdate_d", null, + rewrittenPlan, nereidsPlanner.getCascadesContext()); + checkRelatedTableInfo(relatedTableInfo, + "lineitem", + "l_shipdate", + true); + }); + } + // if select * used in partition table side, should get related table @Test public void getRelatedTableInfoLeftJoinSelectStarTest() { From 10e873203d988f4c3d41c1cbe7dc28246ce5e624 Mon Sep 17 00:00:00 2001 From: seawinde Date: Thu, 13 Nov 2025 16:40:07 +0800 Subject: [PATCH 2/2] fix compile --- .../nereids/rules/exploration/mv/MaterializedViewUtils.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java index 2712fa69a4788d..3341c499904545 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewUtils.java @@ -50,9 +50,6 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.trees.plans.logical.LogicalRelation; import org.apache.doris.nereids.trees.plans.logical.LogicalSink; -import org.apache.doris.nereids.trees.plans.logical.LogicalResultSink; -import org.apache.doris.nereids.trees.plans.logical.LogicalSink; -import org.apache.doris.nereids.trees.plans.logical.LogicalWindow; import org.apache.doris.nereids.trees.plans.physical.PhysicalCatalogRelation; import org.apache.doris.nereids.trees.plans.physical.PhysicalOlapScan; import org.apache.doris.nereids.trees.plans.physical.PhysicalRelation;