You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by zy...@apache.org on 2023/02/09 13:18:54 UTC

[iotdb] branch master updated: [IOTDB-5474] Fix count nodes using level bug (#9035)

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

zyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 5dd2031ab4 [IOTDB-5474] Fix count nodes using level bug (#9035)
5dd2031ab4 is described below

commit 5dd2031ab4f3d21d2b60f169cdeab19fccba4a50
Author: Marcos_Zyk <38...@users.noreply.github.com>
AuthorDate: Thu Feb 9 21:18:46 2023 +0800

    [IOTDB-5474] Fix count nodes using level bug (#9035)
---
 .../iotdb/commons/schema/tree/AbstractTreeVisitor.java     |  1 +
 .../apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java    | 14 ++++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/schema/tree/AbstractTreeVisitor.java b/node-commons/src/main/java/org/apache/iotdb/commons/schema/tree/AbstractTreeVisitor.java
index 3d58f2221c..a2fa004d9c 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/schema/tree/AbstractTreeVisitor.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/schema/tree/AbstractTreeVisitor.java
@@ -201,6 +201,7 @@ public abstract class AbstractTreeVisitor<N extends ITreeNode, R>
 
       N nextTempNode = iterator.next();
 
+      shouldVisitSubtree = false;
       if (currentStateMatchInfo.hasFinalState()) {
         if (acceptFullMatchedNode(nextTempNode)) {
           nextMatchedNode = nextTempNode;
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
index a7a2f5588c..b4488acafe 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
@@ -228,6 +228,20 @@ public class ConfigMTreeTest {
     result = root.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false);
     Assert.assertEquals(0, result.left.size());
     Assert.assertEquals(2, result.right.size());
+
+    root.setStorageGroup(new PartialPath("root.test.`001.002.003`"));
+    root.setStorageGroup(new PartialPath("root.test.g_0.s_0_b001"));
+    root.setStorageGroup(new PartialPath("root.sg"));
+    root.setStorageGroup(new PartialPath("root.ln"));
+
+    result = root.getNodesListInGivenLevel(new PartialPath("root.*.*.s1"), 2, true);
+    Assert.assertEquals(0, result.left.size());
+    Assert.assertEquals(5, result.right.size());
+    Assert.assertTrue(result.right.contains(new PartialPath("root.sg1")));
+    Assert.assertTrue(result.right.contains(new PartialPath("root.sg2")));
+    Assert.assertTrue(result.right.contains(new PartialPath("root.sg")));
+    Assert.assertTrue(result.right.contains(new PartialPath("root.ln")));
+    Assert.assertTrue(result.right.contains(new PartialPath("root.test.`001.002.003`")));
   }
 
   @Test