You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/02/26 12:29:49 UTC

[incubator-iotdb] branch master updated: [IOTDB-444] Fix enhanced wildcard query on device path (#844)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 83b88d0  [IOTDB-444] Fix enhanced wildcard query on device path (#844)
83b88d0 is described below

commit 83b88d00ce63b7e87059b7cee9e6e1e96967ce31
Author: Zesong Sun <sz...@mails.tsinghua.edu.cn>
AuthorDate: Wed Feb 26 20:29:41 2020 +0800

    [IOTDB-444] Fix enhanced wildcard query on device path (#844)
    
    * [IOTDB-444] Fix bug of Enhanced wildcard query on device path
---
 server/src/main/java/org/apache/iotdb/db/metadata/MTree.java      | 4 ++--
 .../test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MTree.java b/server/src/main/java/org/apache/iotdb/db/metadata/MTree.java
index a4b015c..9a07c20 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MTree.java
@@ -513,7 +513,7 @@ public class MTree implements Serializable {
     } else {
       for (MNode child : node.getChildren().values()) {
         if (!Pattern.matches(nodeReg.replace("*", ".*"), child.getName())) {
-          return;
+          continue;
         }
         findPath(child, nodes, idx + 1, parent + node.getName() + PATH_SEPARATOR,
             timeseriesSchemaList);
@@ -563,7 +563,7 @@ public class MTree implements Serializable {
       if (node instanceof InternalMNode) {
         for (MNode child : node.getChildren().values()) {
           if (!Pattern.matches(nodeReg.replace("*", ".*"), child.getName())) {
-            return;
+            continue;
           }
           if (idx == length) {
             res.add(parent + node.getName());
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
index da87dfa..ba8a67f 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
@@ -332,7 +332,7 @@ public class MManagerBasicTest {
         "[root.laptop.b1, root.laptop.b2, root.vehicle.b1, root.vehicle.b2]",
         "[root.laptop.b1.d1, root.laptop.b1.d2, root.vehicle.b1.d0, root.vehicle.b1.d2, root.vehicle.b1.d3]",
         "[root.laptop.b1.d1, root.laptop.b1.d2]",
-        "[root.laptop.b1.d1, root.laptop.b1.d2, root.laptop.b2.d1, root.laptop.b2.d2]",
+        "[root.vehicle.b1.d0, root.vehicle.b1.d2, root.vehicle.b1.d3, root.vehicle.b2.d0]",
         "[root.laptop.b1.d1.s0, root.laptop.b1.d1.s1, root.laptop.b1.d2.s0, root.laptop.b2.d1.s1, root.laptop.b2.d1.s3, root.laptop.b2.d2.s2]"
     };
 
@@ -354,12 +354,12 @@ public class MManagerBasicTest {
           CompressionType.GZIP, null);
       manager.createTimeseries("root.vehicle.b1.d0.s0", TSDataType.INT32, TSEncoding.PLAIN,
           CompressionType.GZIP, null);
-      manager.createTimeseries("root.vehicle.b2.d0.s1", TSDataType.INT32, TSEncoding.PLAIN,
-          CompressionType.GZIP, null);
       manager.createTimeseries("root.vehicle.b1.d2.s2", TSDataType.INT32, TSEncoding.PLAIN,
           CompressionType.GZIP, null);
       manager.createTimeseries("root.vehicle.b1.d3.s3", TSDataType.INT32, TSEncoding.PLAIN,
           CompressionType.GZIP, null);
+      manager.createTimeseries("root.vehicle.b2.d0.s1", TSDataType.INT32, TSEncoding.PLAIN,
+          CompressionType.GZIP, null);
 
       assertEquals(res[0], manager.getChildNodePathInNextLevel("root").toString());
       assertEquals(res[1], manager.getChildNodePathInNextLevel("root.laptop").toString());
@@ -367,7 +367,7 @@ public class MManagerBasicTest {
       assertEquals(res[3], manager.getChildNodePathInNextLevel("root.*").toString());
       assertEquals(res[4], manager.getChildNodePathInNextLevel("root.*.b1").toString());
       assertEquals(res[5], manager.getChildNodePathInNextLevel("root.l*.b1").toString());
-      assertEquals(res[6], manager.getChildNodePathInNextLevel("root.l*.*").toString());
+      assertEquals(res[6], manager.getChildNodePathInNextLevel("root.v*.*").toString());
       assertEquals(res[7], manager.getChildNodePathInNextLevel("root.l*.b*.*").toString());
     } catch (MetadataException e) {
       e.printStackTrace();