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 2022/01/21 06:00:54 UTC
[iotdb] branch master updated: [IOTDB-2380] add show schema interface for show measurements in template (#4940)
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/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 87d70f2 [IOTDB-2380] add show schema interface for show measurements in template (#4940)
87d70f2 is described below
commit 87d70f208507a80191458c8039d924a394b0cea4
Author: ZhaoXin <x_...@163.com>
AuthorDate: Fri Jan 21 14:00:17 2022 +0800
[IOTDB-2380] add show schema interface for show measurements in template (#4940)
---
.../main/java/org/apache/iotdb/db/metadata/MManager.java | 12 ++++++++++++
.../java/org/apache/iotdb/db/metadata/TemplateTest.java | 13 +++++++++++++
2 files changed, 25 insertions(+)
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
index 8f94394..0c5f234 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
@@ -2242,6 +2242,18 @@ public class MManager {
return templateManager.getTemplate(templateName).getMeasurementsUnderPath(path);
}
+ public List<Pair<String, IMeasurementSchema>> getSchemasInTemplate(
+ String templateName, String path) throws MetadataException {
+ Set<Map.Entry<String, IMeasurementSchema>> rawSchemas =
+ templateManager.getTemplate(templateName).getSchemaMap().entrySet();
+ return rawSchemas.stream()
+ .filter(e -> e.getKey().startsWith(path))
+ .collect(
+ ArrayList::new,
+ (res, elem) -> res.add(new Pair<>(elem.getKey(), elem.getValue())),
+ ArrayList::addAll);
+ }
+
public Set<String> getAllTemplates() {
return templateManager.getAllTemplateName();
}
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/TemplateTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/TemplateTest.java
index 3ed4cee..9f60951 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/TemplateTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/TemplateTest.java
@@ -329,6 +329,19 @@ public class TemplateTest {
}
@Test
+ public void testShowAllSchemas() throws MetadataException {
+ MManager manager = IoTDB.metaManager;
+ CreateTemplatePlan plan1 = getTreeTemplatePlan();
+ CreateTemplatePlan plan2 = getCreateTemplatePlan();
+ manager.createSchemaTemplate(plan1);
+ manager.createSchemaTemplate(plan2);
+ assertEquals(4, manager.getSchemasInTemplate("treeTemplate", "").size());
+ assertEquals(2, manager.getSchemasInTemplate("treeTemplate", "GPS").size());
+ assertEquals(11, manager.getSchemasInTemplate("template1", "").size());
+ assertEquals(10, manager.getSchemasInTemplate("template1", "vector").size());
+ }
+
+ @Test
public void testDropTemplate() throws MetadataException {
MManager manager = IoTDB.metaManager;
CreateTemplatePlan plan1 = getTreeTemplatePlan();