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

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


The following commit(s) were added to refs/heads/multitimeseries by this push:
     new 061eea8668 Support CreateMultiTimeseries in new cluster
061eea8668 is described below

commit 061eea866825c1ec9e111b42fe71a93ea7b15a72
Author: HTHou <[email protected]>
AuthorDate: Fri May 13 16:12:22 2022 +0800

    Support CreateMultiTimeseries in new cluster
---
 .../db/mpp/plan/parser/StatementGenerator.java     |  1 +
 .../iotdb/db/mpp/plan/planner/LogicalPlanner.java  | 17 +++++-----
 .../metedata/write/CreateMultiTimeSeriesNode.java  | 36 ++++++++++++++++++++++
 .../metadata/CreateMultiTimeSeriesStatement.java   | 33 +++++++-------------
 4 files changed, 57 insertions(+), 30 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
index a473299bb0..19e37df4be 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
@@ -399,6 +399,7 @@ public class StatementGenerator {
     statement.setDataTypes(dataTypes);
     statement.setEncodings(encodings);
     statement.setCompressors(compressors);
+    statement.setPropsList(req.propsList);
     statement.setTagsList(req.tagsList);
     statement.setAttributesList(req.attributesList);
     statement.setAliasList(req.measurementAliasList);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
index 97dfd8344e..57d0854b95 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
@@ -285,16 +285,17 @@ public class LogicalPlanner {
 
     @Override
     public PlanNode visitCreateMultiTimeseries(
-        CreateMultiTimeSeriesStatement createAlignedTimeSeriesStatement, 
MPPQueryContext context) {
+        CreateMultiTimeSeriesStatement createMultiTimeSeriesStatement, 
MPPQueryContext context) {
       return new CreateMultiTimeSeriesNode(
           context.getQueryId().genPlanNodeId(),
-          createAlignedTimeSeriesStatement.getPaths(),
-          createAlignedTimeSeriesStatement.getDataTypes(),
-          createAlignedTimeSeriesStatement.getEncodings(),
-          createAlignedTimeSeriesStatement.getCompressors(),
-          createAlignedTimeSeriesStatement.getAliasList(),
-          createAlignedTimeSeriesStatement.getTagsList(),
-          createAlignedTimeSeriesStatement.getAttributesList());
+          createMultiTimeSeriesStatement.getPaths(),
+          createMultiTimeSeriesStatement.getDataTypes(),
+          createMultiTimeSeriesStatement.getEncodings(),
+          createMultiTimeSeriesStatement.getCompressors(),
+          createMultiTimeSeriesStatement.getPropsList(),
+          createMultiTimeSeriesStatement.getAliasList(),
+          createMultiTimeSeriesStatement.getTagsList(),
+          createMultiTimeSeriesStatement.getAttributesList());
     }
 
     @Override
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/CreateMultiTimeSeriesNode.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/CreateMultiTimeSeriesNode.java
index 8ba1167b76..f0294f6f35 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/CreateMultiTimeSeriesNode.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/CreateMultiTimeSeriesNode.java
@@ -47,6 +47,7 @@ public class CreateMultiTimeSeriesNode extends WritePlanNode {
   private List<TSEncoding> encodings = new ArrayList<>();
   private List<CompressionType> compressors = new ArrayList<>();
   private List<String> aliasList;
+  private List<Map<String, String>> propsList;
   private List<Map<String, String>> tagsList;
   private List<Map<String, String>> attributesList;
   private List<Long> tagOffsets;
@@ -62,6 +63,7 @@ public class CreateMultiTimeSeriesNode extends WritePlanNode {
       List<TSDataType> dataTypes,
       List<TSEncoding> encodings,
       List<CompressionType> compressors,
+      List<Map<String, String>> propsList,
       List<String> aliasList,
       List<Map<String, String>> tagsList,
       List<Map<String, String>> attributesList) {
@@ -70,6 +72,7 @@ public class CreateMultiTimeSeriesNode extends WritePlanNode {
     this.dataTypes = dataTypes;
     this.encodings = encodings;
     this.compressors = compressors;
+    this.propsList = propsList;
     this.aliasList = aliasList;
     this.tagsList = tagsList;
     this.attributesList = attributesList;
@@ -144,6 +147,7 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
       TSDataType dataType,
       TSEncoding encoding,
       CompressionType compressor,
+      Map<String, String> props,
       String alias,
       Map<String, String> tags,
       Map<String, String> attributes) {
@@ -151,6 +155,12 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
     this.dataTypes.add(dataType);
     this.encodings.add(encoding);
     this.compressors.add(compressor);
+    if (props != null) {
+      if (this.propsList == null) {
+        propsList = new ArrayList<>();
+      }
+      propsList.add(props);
+    }
     if (alias != null) {
       if (this.aliasList == null) {
         aliasList = new ArrayList<>();
@@ -206,6 +216,7 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
     List<TSEncoding> encodings;
     List<CompressionType> compressors;
     List<String> aliasList = null;
+    List<Map<String, String>> propsList = null;
     List<Map<String, String>> tagsList = null;
     List<Map<String, String>> attributesList = null;
 
@@ -244,6 +255,16 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
       }
     }
 
+    label = byteBuffer.get();
+    if (label >= 0) {
+      propsList = new ArrayList<>();
+      if (label == 1) {
+        for (int i = 0; i < size; i++) {
+          propsList.add(ReadWriteIOUtils.readMap(byteBuffer));
+        }
+      }
+    }
+
     label = byteBuffer.get();
     if (label >= 0) {
       tagsList = new ArrayList<>();
@@ -272,6 +293,7 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
         dataTypes,
         encodings,
         compressors,
+        propsList,
         aliasList,
         tagsList,
         attributesList);
@@ -291,6 +313,7 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
         && Objects.equals(dataTypes, that.dataTypes)
         && Objects.equals(encodings, that.encodings)
         && Objects.equals(compressors, that.compressors)
+        && Objects.equals(propsList, that.propsList)
         && Objects.equals(tagOffsets, that.tagOffsets)
         && Objects.equals(aliasList, that.aliasList)
         && Objects.equals(tagsList, that.tagsList)
@@ -334,6 +357,18 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
       }
     }
 
+    // props
+    if (propsList == null) {
+      byteBuffer.put((byte) -1);
+    } else if (propsList.isEmpty()) {
+      byteBuffer.put((byte) 0);
+    } else {
+      byteBuffer.put((byte) 1);
+      for (Map<String, String> props : propsList) {
+        ReadWriteIOUtils.write(props, byteBuffer);
+      }
+    }
+
     // tags
     if (tagsList == null) {
       byteBuffer.put((byte) -1);
@@ -400,6 +435,7 @@ public class CreateMultiTimeSeriesNode extends 
WritePlanNode {
           dataTypes.get(i),
           encodings.get(i),
           compressors.get(i),
+          propsList == null ? null : propsList.get(i),
           aliasList == null ? null : aliasList.get(i),
           attributesList == null ? null : tagsList.get(i),
           attributesList == null ? null : attributesList.get(i));
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
index 341e4d12a1..083e91d487 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
@@ -44,10 +44,11 @@ public class CreateMultiTimeSeriesStatement extends 
Statement {
   private List<TSDataType> dataTypes = new ArrayList<>();
   private List<TSEncoding> encodings = new ArrayList<>();
   private List<CompressionType> compressors = new ArrayList<>();
-  private List<String> aliasList = new ArrayList<>();
-  private List<Map<String, String>> tagsList = new ArrayList<>();
-  private List<Map<String, String>> attributesList = new ArrayList<>();
-  private List<Long> tagOffsets = null;
+  private List<Map<String, String>> propsList;
+  private List<String> aliasList;
+  private List<Map<String, String>> tagsList;
+  private List<Map<String, String>> attributesList;
+  private List<Long> tagOffsets;
 
   public CreateMultiTimeSeriesStatement() {
     super();
@@ -71,10 +72,6 @@ public class CreateMultiTimeSeriesStatement extends 
Statement {
     this.dataTypes = dataTypes;
   }
 
-  public void addDataType(TSDataType dataType) {
-    this.dataTypes.add(dataType);
-  }
-
   public List<TSEncoding> getEncodings() {
     return encodings;
   }
@@ -83,10 +80,6 @@ public class CreateMultiTimeSeriesStatement extends 
Statement {
     this.encodings = encodings;
   }
 
-  public void addEncoding(TSEncoding encoding) {
-    this.encodings.add(encoding);
-  }
-
   public List<CompressionType> getCompressors() {
     return compressors;
   }
@@ -95,8 +88,12 @@ public class CreateMultiTimeSeriesStatement extends 
Statement {
     this.compressors = compressors;
   }
 
-  public void addCompressor(CompressionType compression) {
-    this.compressors.add(compression);
+  public List<Map<String, String>> getPropsList() {
+    return propsList;
+  }
+
+  public void setPropsList(List<Map<String, String>> propsList) {
+    this.propsList = propsList;
   }
 
   public List<String> getAliasList() {
@@ -107,10 +104,6 @@ public class CreateMultiTimeSeriesStatement extends 
Statement {
     this.aliasList = aliasList;
   }
 
-  public void addAliasList(String alias) {
-    this.aliasList.add(alias);
-  }
-
   public List<Map<String, String>> getTagsList() {
     return tagsList;
   }
@@ -119,10 +112,6 @@ public class CreateMultiTimeSeriesStatement extends 
Statement {
     this.tagsList = tagsList;
   }
 
-  public void addTagsList(Map<String, String> tags) {
-    this.tagsList.add(tags);
-  }
-
   public List<Map<String, String>> getAttributesList() {
     return attributesList;
   }

Reply via email to