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;
}