You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by su...@apache.org on 2020/03/05 13:16:24 UTC
[incubator-iotdb] branch jira_444 created (now 40222c0)
This is an automated email from the ASF dual-hosted git repository.
sunzesong pushed a change to branch jira_444
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.
at 40222c0 [IOTDB-546] Show child paths statement doesn't show quotation marks in path
This branch includes the following new commits:
new 40222c0 [IOTDB-546] Show child paths statement doesn't show quotation marks in path
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[incubator-iotdb] 01/01: [IOTDB-546] Show child paths statement
doesn't show quotation marks in path
Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sunzesong pushed a commit to branch jira_444
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 40222c0a9fc42176179428a20632d744deacd34d
Author: samperson1997 <sz...@mails.tsinghua.edu.cn>
AuthorDate: Thu Mar 5 21:16:07 2020 +0800
[IOTDB-546] Show child paths statement doesn't show quotation marks in path
---
.../java/org/apache/iotdb/db/metadata/MTree.java | 10 ++++--
.../iotdb/db/metadata/MManagerBasicTest.java | 41 +++++++++++++++++++---
.../org/apache/iotdb/db/metadata/MTreeTest.java | 3 ++
3 files changed, 48 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 87b6afd..4869b70 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
@@ -562,7 +562,7 @@ public class MTree implements Serializable {
parent + node.getName() + PATH_SEPARATOR, res, length);
}
} else {
- if (node instanceof InternalMNode) {
+ if (node instanceof InternalMNode && node.getChildren().size() > 0) {
for (MNode child : node.getChildren().values()) {
if (!Pattern.matches(nodeReg.replace("*", ".*"), child.getName())) {
continue;
@@ -575,7 +575,13 @@ public class MTree implements Serializable {
}
}
} else if (idx == length) {
- res.add(parent + node.getName());
+ String nodeName;
+ if (node.getName().contains(TsFileConstant.PATH_SEPARATOR)) {
+ nodeName = "\"" + node + "\"";
+ } else {
+ nodeName = node.getName();
+ }
+ res.add(parent + nodeName);
}
}
}
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 ba8a67f..52d6a86 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
@@ -66,6 +66,7 @@ public class MManagerBasicTest {
try {
manager.setStorageGroup("root.laptop.d1");
+ manager.setStorageGroup("root.1");
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
@@ -80,8 +81,7 @@ public class MManagerBasicTest {
try {
manager.createTimeseries("root.laptop.d1.s0", TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"), compressionType, Collections
- .emptyMap());
+ TSEncoding.valueOf("RLE"), compressionType, Collections.emptyMap());
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
@@ -93,20 +93,31 @@ public class MManagerBasicTest {
try {
manager.createTimeseries("root.laptop.d1.s1", TSDataType.valueOf("INT32"),
TSEncoding.valueOf("RLE"), compressionType, Collections.emptyMap());
+ manager.createTimeseries("root.laptop.d1.1_2", TSDataType.INT32, TSEncoding.RLE,
+ TSFileDescriptor.getInstance().getConfig().getCompressor(), Collections.EMPTY_MAP);
+ manager.createTimeseries("root.laptop.d1.\"1.2.3\"", TSDataType.INT32, TSEncoding.RLE,
+ TSFileDescriptor.getInstance().getConfig().getCompressor(), Collections.EMPTY_MAP);
+ manager.createTimeseries("root.1.2.3", TSDataType.INT32, TSEncoding.RLE,
+ TSFileDescriptor.getInstance().getConfig().getCompressor(), Collections.EMPTY_MAP);
} catch (MetadataException e1) {
e1.printStackTrace();
fail(e1.getMessage());
}
assertTrue(manager.isPathExist("root.laptop.d1.s1"));
+ assertTrue(manager.isPathExist("root.laptop.d1.1_2"));
+ assertTrue(manager.isPathExist("root.laptop.d1.\"1.2.3\""));
+ assertTrue(manager.isPathExist("root.1.2.3"));
+ assertTrue(manager.isPathExist("root.1"));
+ assertTrue(manager.isPathExist("root.1.2"));
+
try {
manager.deleteTimeseries("root.laptop.d1.s1");
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
- // just delete s0, and don't delete root.laptop.d1??
- // delete storage group or not
assertFalse(manager.isPathExist("root.laptop.d1.s1"));
+
try {
manager.deleteTimeseries("root.laptop.d1.s0");
} catch (MetadataException e) {
@@ -158,6 +169,28 @@ public class MManagerBasicTest {
"root.laptop.d2"),
e.getMessage());
}
+
+ try {
+ manager.deleteTimeseries("root.laptop.d1.1_2");
+ manager.deleteTimeseries("root.laptop.d1.\"1.2.3\"");
+ manager.deleteTimeseries("root.1.2.3");
+ } catch (MetadataException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ assertFalse(manager.isPathExist("root.laptop.d1.1_2"));
+ assertFalse(manager.isPathExist("root.laptop.d1.\"1.2.3\""));
+ assertFalse(manager.isPathExist("root.1.2.3"));
+ assertFalse(manager.isPathExist("root.1.2"));
+ assertTrue(manager.isPathExist("root.1"));
+
+ try {
+ manager.deleteStorageGroups(Collections.singletonList("root.1"));
+ } catch (MetadataException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ assertFalse(manager.isPathExist("root.1"));
}
@Test
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/MTreeTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/MTreeTest.java
index b62dc50..6cd9783 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/MTreeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/MTreeTest.java
@@ -278,6 +278,9 @@ public class MTreeTest {
assertTrue(root.isStorageGroup("root.laptop.d1"));
assertTrue(root.isStorageGroup("root.laptop.d2"));
assertFalse(root.isStorageGroup("root.laptop.d3"));
+
+ root.setStorageGroup("root.1");
+ assertTrue(root.isStorageGroup("root.1"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());