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

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


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new d1616907e47 [fix](mv) ut case selectBitmapMvWithProjectMultiMv is 
unstable (#54006)
d1616907e47 is described below

commit d1616907e4715d32dea9cf82623e92998adfc99a
Author: seawinde <[email protected]>
AuthorDate: Tue Jul 29 15:11:53 2025 +0800

    [fix](mv) ut case selectBitmapMvWithProjectMultiMv is unstable (#54006)
---
 .../rules/rewrite/mv/BaseMaterializedIndexSelectTest.java        | 9 +++++++++
 .../apache/doris/nereids/rules/rewrite/mv/SelectMvIndexTest.java | 8 +++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/BaseMaterializedIndexSelectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/BaseMaterializedIndexSelectTest.java
index 4550431e398..3ab49e2b080 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/BaseMaterializedIndexSelectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/BaseMaterializedIndexSelectTest.java
@@ -25,6 +25,7 @@ import org.apache.doris.utframe.TestWithFeService;
 import org.junit.jupiter.api.Assertions;
 
 import java.util.List;
+import java.util.Set;
 import java.util.function.Consumer;
 
 /**
@@ -38,6 +39,14 @@ public abstract class BaseMaterializedIndexSelectTest 
extends TestWithFeService
         });
     }
 
+    // any index in indexNameSet is ok
+    protected void singleTableTest(String sql, Set<String> indexNameSet, 
boolean preAgg) {
+        singleTableTest(sql, scan -> {
+            Assertions.assertEquals(preAgg, scan.isPreAggregation());
+            
Assertions.assertTrue(indexNameSet.contains(scan.getSelectedIndexName()));
+        });
+    }
+
     protected void singleTableTest(String sql, Consumer<OlapScanNode> 
scanConsumer) {
         PlanChecker.from(connectContext).checkPlannerResult(sql, planner -> {
             List<ScanNode> scans = planner.getScanNodes();
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMvIndexTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMvIndexTest.java
index ac18dddaa62..07154bf9988 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMvIndexTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMvIndexTest.java
@@ -40,6 +40,7 @@ import org.apache.doris.qe.ConnectContext;
 import org.apache.doris.utframe.DorisAssert;
 
 import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
@@ -1145,7 +1146,8 @@ class SelectMvIndexTest extends 
BaseMaterializedIndexSelectTest implements MemoP
         createMv("create materialized view mv2 as"
                 + "  select a, c, bitmap_union(to_bitmap(b)) from 
selectBitmapMvWithProjectMultiMv group by a, c;");
 
-        testMv("select a, bitmap_union_count(to_bitmap(b)) as cnt from 
selectBitmapMvWithProjectMultiMv group by a", "mv");
+        testMv("select a, bitmap_union_count(to_bitmap(b)) as cnt from 
selectBitmapMvWithProjectMultiMv group by a",
+                ImmutableSet.of("mv", "mv2"));
         dropTable("selectBitmapMvWithProjectMultiMv", true);
     }
 
@@ -1213,6 +1215,10 @@ class SelectMvIndexTest extends 
BaseMaterializedIndexSelectTest implements MemoP
         singleTableTest(sql, indexName, true);
     }
 
+    private void testMv(String sql, Set<String> indexNameSet) {
+        singleTableTest(sql, indexNameSet, true);
+    }
+
     private void assertOneAggFuncType(LogicalAggregate<? extends Plan> agg, 
Class<?> aggFuncType) {
         Set<AggregateFunction> aggFuncs = agg.getOutputExpressions()
                 .stream()


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to