This is an automated email from the ASF dual-hosted git repository.
sunzesong pushed a commit to branch vector_refactor
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/vector_refactor by this push:
new aef4b70 create aligned timeseries
aef4b70 is described below
commit aef4b70044fe4189dfed0108cdfd7590a27664c7
Author: samperson1997 <[email protected]>
AuthorDate: Mon May 31 17:37:06 2021 +0800
create aligned timeseries
---
.../iotdb/cluster/query/ClusterPlanRouter.java | 2 +-
.../org/apache/iotdb/VectorSessionExample.java | 58 +++++++++++++++-------
.../org/apache/iotdb/db/conf/IoTDBConstant.java | 1 -
.../apache/iotdb/db/metadata/MLogTxtWriter.java | 2 +-
.../org/apache/iotdb/db/metadata/MManager.java | 2 +-
.../java/org/apache/iotdb/db/metadata/MTree.java | 9 +---
.../iotdb/db/metadata/logfile/MLogWriter.java | 8 +--
.../iotdb/db/metadata/mnode/StorageGroupMNode.java | 26 +---------
.../physical/sys/CreateAlignedTimeSeriesPlan.java | 28 +++++------
.../db/qp/physical/sys/StorageGroupMNodePlan.java | 4 +-
.../org/apache/iotdb/db/service/TSServiceImpl.java | 6 +--
.../db/engine/memtable/MemTableTestUtils.java | 4 +-
.../db/engine/memtable/PrimitiveMemTableTest.java | 8 ++-
.../iotdb/db/metadata/MManagerBasicTest.java | 20 --------
.../java/org/apache/iotdb/session/Session.java | 8 +--
.../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1 +
thrift/src/main/thrift/rpc.thrift | 2 +-
.../write/schema/VectorMeasurementSchema.java | 5 +-
18 files changed, 81 insertions(+), 113 deletions(-)
diff --git
a/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
b/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
index 5069f60..7086c82 100644
---
a/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
+++
b/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
@@ -165,7 +165,7 @@ public class ClusterPlanRouter {
private Map<PhysicalPlan, PartitionGroup>
splitAndRoutePlan(CreateAlignedTimeSeriesPlan plan)
throws MetadataException {
- PartitionGroup partitionGroup =
partitionTable.partitionByPathTime(plan.getDevicePath(), 0);
+ PartitionGroup partitionGroup =
partitionTable.partitionByPathTime(plan.getPrefixPath(), 0);
return Collections.singletonMap(plan, partitionGroup);
}
diff --git
a/example/session/src/main/java/org/apache/iotdb/VectorSessionExample.java
b/example/session/src/main/java/org/apache/iotdb/VectorSessionExample.java
index 12ea749..293a8ab 100644
--- a/example/session/src/main/java/org/apache/iotdb/VectorSessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/VectorSessionExample.java
@@ -49,20 +49,21 @@ public class VectorSessionExample {
// set session fetchSize
session.setFetchSize(10000);
- createTemplate();
- insertTabletWithAlignedTimeseriesMethod1();
- insertTabletWithAlignedTimeseriesMethod2();
-
- insertNullableTabletWithAlignedTimeseries();
- selectTest();
- selectWithValueFilterTest();
-
- selectWithGroupByTest();
- selectWithLastTest();
-
- selectWithAggregationTest();
-
- selectWithAlignByDeviceTest();
+ createAlignedTimeseries();
+ // createTemplate();
+ // insertTabletWithAlignedTimeseriesMethod1();
+ // insertTabletWithAlignedTimeseriesMethod2();
+ //
+ // insertNullableTabletWithAlignedTimeseries();
+ // selectTest();
+ // selectWithValueFilterTest();
+ //
+ // selectWithGroupByTest();
+ // selectWithLastTest();
+ //
+ // selectWithAggregationTest();
+ //
+ // selectWithAlignByDeviceTest();
session.close();
}
@@ -178,6 +179,23 @@ public class VectorSessionExample {
dataSet.closeOperationHandle();
}
+ private static void createAlignedTimeseries()
+ throws StatementExecutionException, IoTDBConnectionException {
+ List<String> measurements = new ArrayList<>();
+ for (int i = 1; i <= 2; i++) {
+ measurements.add("s" + i);
+ }
+ List<TSDataType> dataTypes = new ArrayList<>();
+ dataTypes.add(TSDataType.INT64);
+ dataTypes.add(TSDataType.INT32);
+ List<TSEncoding> encodings = new ArrayList<>();
+ for (int i = 1; i <= 2; i++) {
+ encodings.add(TSEncoding.RLE);
+ }
+ session.createAlignedTimeseries(
+ ROOT_SG1_D1 + ".vector", measurements, dataTypes, encodings,
CompressionType.SNAPPY, null);
+ }
+
// be sure template is coordinate with tablet
private static void createTemplate()
throws StatementExecutionException, IoTDBConnectionException {
@@ -220,7 +238,9 @@ public class VectorSessionExample {
List<IMeasurementSchema> schemaList = new ArrayList<>();
schemaList.add(
new VectorMeasurementSchema(
- new String[] {"s1", "s2"}, new TSDataType[] {TSDataType.INT64,
TSDataType.INT32}));
+ "vector",
+ new String[] {"s1", "s2"},
+ new TSDataType[] {TSDataType.INT64, TSDataType.INT32}));
Tablet tablet = new Tablet(ROOT_SG1_D1, schemaList);
long timestamp = System.currentTimeMillis();
@@ -260,7 +280,9 @@ public class VectorSessionExample {
List<IMeasurementSchema> schemaList = new ArrayList<>();
schemaList.add(
new VectorMeasurementSchema(
- new String[] {"s1", "s2"}, new TSDataType[] {TSDataType.INT64,
TSDataType.INT32}));
+ "vector",
+ new String[] {"s1", "s2"},
+ new TSDataType[] {TSDataType.INT64, TSDataType.INT32}));
Tablet tablet = new Tablet(ROOT_SG1_D1, schemaList);
long[] timestamps = tablet.timestamps;
@@ -297,7 +319,9 @@ public class VectorSessionExample {
List<IMeasurementSchema> schemaList = new ArrayList<>();
schemaList.add(
new VectorMeasurementSchema(
- new String[] {"s1", "s2"}, new TSDataType[] {TSDataType.INT64,
TSDataType.INT32}));
+ "vector",
+ new String[] {"s1", "s2"},
+ new TSDataType[] {TSDataType.INT64, TSDataType.INT32}));
Tablet tablet = new Tablet(ROOT_SG1_D1, schemaList);
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
index a497437..cb84ca5 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
@@ -110,7 +110,6 @@ public class IoTDBConstant {
public static final String PATH_WILDCARD = "*";
public static final String TIME = "time";
- public static final String ALIGN_TIMESERIES_PREFIX = "$#$";
// sdt parameters
public static final String LOSS = "loss";
diff --git
a/server/src/main/java/org/apache/iotdb/db/metadata/MLogTxtWriter.java
b/server/src/main/java/org/apache/iotdb/db/metadata/MLogTxtWriter.java
index f1bc0b6..b7affe5 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MLogTxtWriter.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MLogTxtWriter.java
@@ -130,7 +130,7 @@ public class MLogTxtWriter implements AutoCloseable {
String.format(
"%s,%s,%s,%s,%s,%s",
MetadataOperationType.CREATE_TIMESERIES,
- plan.getDevicePath().getFullPath(),
+ plan.getPrefixPath().getFullPath(),
plan.getMeasurements(),
plan.getDataTypes().stream().map(TSDataType::serialize),
plan.getEncodings().stream().map(TSEncoding::serialize),
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 1373fd1..bd0b887 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
@@ -538,7 +538,7 @@ public class MManager {
+ "please increase MAX_HEAP_SIZE in iotdb-env.sh/bat and
restart");
}
try {
- PartialPath devicePath = plan.getDevicePath();
+ PartialPath devicePath = plan.getPrefixPath();
List<String> measurements = plan.getMeasurements();
int alignedSize = measurements.size();
List<TSDataType> dataTypes = plan.getDataTypes();
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 3c21e8c..4a1466a 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
@@ -314,7 +314,7 @@ public class MTree implements Serializable {
boolean hasSetStorageGroup = false;
StorageGroupMNode storageGroupMNode = null;
// e.g, devicePath = root.sg.d1, create internal nodes and set cur to d1
node
- for (int i = 1; i < deviceNodeNames.length; i++) {
+ for (int i = 1; i < deviceNodeNames.length - 1; i++) {
String nodeName = deviceNodeNames[i];
if (cur instanceof StorageGroupMNode) {
hasSetStorageGroup = true;
@@ -328,12 +328,7 @@ public class MTree implements Serializable {
}
cur = cur.getChild(nodeName);
}
- int alignedTimeseriesIndex = 0;
- if (storageGroupMNode != null) {
- alignedTimeseriesIndex = storageGroupMNode.getAlignedTimeseriesIndex();
- storageGroupMNode.addAlignedTimeseriesIndex();
- }
- String leafName = IoTDBConstant.ALIGN_TIMESERIES_PREFIX +
alignedTimeseriesIndex;
+ String leafName = deviceNodeNames[deviceNodeNames.length - 1];
// synchronize check and add, we need addChild and add Alias become atomic
operation
// only write on mtree will be synchronized
diff --git
a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogWriter.java
b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogWriter.java
index afde6dc..851ac89 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogWriter.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogWriter.java
@@ -199,8 +199,7 @@ public class MLogWriter implements AutoCloseable {
childSize = node.getChildren().size();
}
StorageGroupMNodePlan plan =
- new StorageGroupMNodePlan(
- node.getName(), node.getDataTTL(), childSize,
node.getAlignedTimeseriesIndex());
+ new StorageGroupMNodePlan(node.getName(), node.getDataTTL(),
childSize);
putLog(plan);
}
@@ -438,10 +437,7 @@ public class MLogWriter implements AutoCloseable {
CompressionType.values()[Integer.parseInt(words[5])]));
case "1":
return new StorageGroupMNodePlan(
- words[1],
- Long.parseLong(words[2]),
- Integer.parseInt(words[3]),
- words.length == 5 ? Integer.parseInt(words[4]) : 0);
+ words[1], Long.parseLong(words[2]), Integer.parseInt(words[3]));
case "0":
return new MNodePlan(words[1], Integer.parseInt(words[2]));
default:
diff --git
a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
index cfb2a71..8453fcf 100644
---
a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
+++
b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
@@ -33,18 +33,9 @@ public class StorageGroupMNode extends MNode {
*/
private long dataTTL;
- private int alignedTimeseriesIndex;
-
public StorageGroupMNode(MNode parent, String name, long dataTTL) {
super(parent, name);
this.dataTTL = dataTTL;
- this.alignedTimeseriesIndex = 0;
- }
-
- public StorageGroupMNode(MNode parent, String name, long dataTTL, int
alignedTimeseriesIndex) {
- super(parent, name);
- this.dataTTL = dataTTL;
- this.alignedTimeseriesIndex = alignedTimeseriesIndex;
}
public long getDataTTL() {
@@ -55,14 +46,6 @@ public class StorageGroupMNode extends MNode {
this.dataTTL = dataTTL;
}
- public int getAlignedTimeseriesIndex() {
- return alignedTimeseriesIndex;
- }
-
- public void addAlignedTimeseriesIndex() {
- this.alignedTimeseriesIndex++;
- }
-
@Override
public void serializeTo(MLogWriter logWriter) throws IOException {
serializeChildren(logWriter);
@@ -71,15 +54,10 @@ public class StorageGroupMNode extends MNode {
}
public static StorageGroupMNode deserializeFrom(StorageGroupMNodePlan plan) {
- return new StorageGroupMNode(
- null, plan.getName(), plan.getDataTTL(),
plan.getAlignedTimeseriesIndex());
+ return new StorageGroupMNode(null, plan.getName(), plan.getDataTTL());
}
public static StorageGroupMNode deserializeFrom(String[] nodeInfo) {
- return new StorageGroupMNode(
- null,
- nodeInfo[1],
- Long.parseLong(nodeInfo[2]),
- nodeInfo.length == 4 ? Integer.parseInt(nodeInfo[3]) : 0);
+ return new StorageGroupMNode(null, nodeInfo[1],
Long.parseLong(nodeInfo[2]));
}
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
index 5451860..14c99f1 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
@@ -42,7 +42,7 @@ public class CreateAlignedTimeSeriesPlan extends PhysicalPlan
{
private static final Logger logger =
LoggerFactory.getLogger(CreateAlignedTimeSeriesPlan.class);
- private PartialPath devicePath;
+ private PartialPath prefixPath;
private List<String> measurements;
private List<TSDataType> dataTypes;
private List<TSEncoding> encodings;
@@ -55,14 +55,14 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
}
public CreateAlignedTimeSeriesPlan(
- PartialPath devicePath,
+ PartialPath prefixPath,
List<String> measurements,
List<TSDataType> dataTypes,
List<TSEncoding> encodings,
CompressionType compressor,
List<String> aliasList) {
super(false, Operator.OperatorType.CREATE_ALIGNED_TIMESERIES);
- this.devicePath = devicePath;
+ this.prefixPath = prefixPath;
this.measurements = measurements;
this.dataTypes = dataTypes;
this.encodings = encodings;
@@ -71,12 +71,12 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
this.canBeSplit = false;
}
- public PartialPath getDevicePath() {
- return devicePath;
+ public PartialPath getPrefixPath() {
+ return prefixPath;
}
- public void setDevicePath(PartialPath devicePath) {
- this.devicePath = devicePath;
+ public void setPrefixPath(PartialPath prefixPath) {
+ this.prefixPath = prefixPath;
}
public List<String> getMeasurements() {
@@ -123,7 +123,7 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
public String toString() {
return String.format(
"devicePath: %s, measurements: %s, dataTypes: %s, encodings: %s,
compression: %s",
- devicePath, measurements, dataTypes, encodings, compressor);
+ prefixPath, measurements, dataTypes, encodings, compressor);
}
@Override
@@ -131,7 +131,7 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
List<PartialPath> paths = new ArrayList<>();
for (String measurement : measurements) {
try {
- paths.add(new PartialPath(devicePath.getFullPath(), measurement));
+ paths.add(new PartialPath(prefixPath.getFullPath(), measurement));
} catch (IllegalPathException e) {
logger.error("Failed to get paths of CreateAlignedTimeSeriesPlan. ",
e);
}
@@ -142,7 +142,7 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
@Override
public void serialize(DataOutputStream stream) throws IOException {
stream.writeByte((byte)
PhysicalPlanType.CREATE_ALIGNED_TIMESERIES.ordinal());
- byte[] bytes = devicePath.getFullPath().getBytes();
+ byte[] bytes = prefixPath.getFullPath().getBytes();
stream.writeInt(bytes.length);
stream.write(bytes);
@@ -173,7 +173,7 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
@Override
public void serialize(ByteBuffer buffer) {
buffer.put((byte) PhysicalPlanType.CREATE_ALIGNED_TIMESERIES.ordinal());
- byte[] bytes = devicePath.getFullPath().getBytes();
+ byte[] bytes = prefixPath.getFullPath().getBytes();
buffer.putInt(bytes.length);
buffer.put(bytes);
@@ -208,7 +208,7 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
byte[] bytes = new byte[length];
buffer.get(bytes);
- devicePath = new PartialPath(new String(bytes));
+ prefixPath = new PartialPath(new String(bytes));
int size = ReadWriteIOUtils.readInt(buffer);
measurements = new ArrayList<>();
for (int i = 0; i < size; i++) {
@@ -245,7 +245,7 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
}
CreateAlignedTimeSeriesPlan that = (CreateAlignedTimeSeriesPlan) o;
- return Objects.equals(devicePath, that.devicePath)
+ return Objects.equals(prefixPath, that.prefixPath)
&& Objects.equals(measurements, that.measurements)
&& Objects.equals(dataTypes, that.dataTypes)
&& Objects.equals(encodings, that.encodings)
@@ -254,6 +254,6 @@ public class CreateAlignedTimeSeriesPlan extends
PhysicalPlan {
@Override
public int hashCode() {
- return Objects.hash(devicePath, measurements, dataTypes, encodings,
compressor);
+ return Objects.hash(prefixPath, measurements, dataTypes, encodings,
compressor);
}
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
index 89c00b7..c780569 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
@@ -38,13 +38,11 @@ public class StorageGroupMNodePlan extends MNodePlan {
super(false, Operator.OperatorType.STORAGE_GROUP_MNODE);
}
- public StorageGroupMNodePlan(
- String name, long dataTTL, int childSize, int alignedTimeseriesIndex) {
+ public StorageGroupMNodePlan(String name, long dataTTL, int childSize) {
super(false, Operator.OperatorType.STORAGE_GROUP_MNODE);
this.name = name;
this.dataTTL = dataTTL;
this.childSize = childSize;
- this.alignedTimeseriesIndex = alignedTimeseriesIndex;
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index cf8f4a7..4ecdbc5 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -1780,7 +1780,7 @@ public class TSServiceImpl implements TSIService.Iface {
return createTimeseries(
new TSCreateTimeseriesReq(
req.sessionId,
- req.devicePath + "." + req.measurements.get(0),
+ req.prefixPath + "." + req.measurements.get(0),
req.dataTypes.get(0),
req.encodings.get(0),
req.compressor));
@@ -1790,7 +1790,7 @@ public class TSServiceImpl implements TSIService.Iface {
AUDIT_LOGGER.debug(
"Session-{} create aligned timeseries {}.{}",
currSessionId.get(),
- req.getDevicePath(),
+ req.getPrefixPath(),
req.getMeasurements());
}
@@ -1805,7 +1805,7 @@ public class TSServiceImpl implements TSIService.Iface {
CreateAlignedTimeSeriesPlan plan =
new CreateAlignedTimeSeriesPlan(
- new PartialPath(req.devicePath),
+ new PartialPath(req.prefixPath),
req.measurements,
dataTypes,
encodings,
diff --git
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
index 05b6fbb..9fbc4a2 100644
---
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
+++
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
@@ -18,7 +18,6 @@
*/
package org.apache.iotdb.db.engine.memtable;
-import org.apache.iotdb.db.conf.IoTDBConstant;
import org.apache.iotdb.db.exception.metadata.IllegalPathException;
import org.apache.iotdb.db.metadata.PartialPath;
import org.apache.iotdb.db.metadata.mnode.MeasurementMNode;
@@ -88,8 +87,7 @@ public class MemTableTestUtils {
MeasurementMNode[] mNodes = new MeasurementMNode[2];
IMeasurementSchema schema =
- new VectorMeasurementSchema(
- IoTDBConstant.ALIGN_TIMESERIES_PREFIX, measurements, dataTypes,
encodings);
+ new VectorMeasurementSchema("$#$0", measurements, dataTypes,
encodings);
mNodes[0] = new MeasurementMNode(null, "sensor0", schema, null);
mNodes[1] = new MeasurementMNode(null, "sensor1", schema, null);
diff --git
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
index 330db67..a33f2cf 100644
---
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
@@ -18,7 +18,6 @@
*/
package org.apache.iotdb.db.engine.memtable;
-import org.apache.iotdb.db.conf.IoTDBConstant;
import org.apache.iotdb.db.engine.querycontext.ReadOnlyMemChunk;
import org.apache.iotdb.db.exception.metadata.IllegalPathException;
import org.apache.iotdb.db.exception.metadata.MetadataException;
@@ -196,7 +195,7 @@ public class PrimitiveMemTableTest {
"root.sg.device5",
"sensor1",
new VectorMeasurementSchema(
- IoTDBConstant.ALIGN_TIMESERIES_PREFIX + 0,
+ "$#$0",
new String[] {"sensor1"},
new TSDataType[] {TSDataType.INT64},
new TSEncoding[] {TSEncoding.GORILLA},
@@ -217,7 +216,7 @@ public class PrimitiveMemTableTest {
"root.sg.device5",
"$#$1",
new VectorMeasurementSchema(
- IoTDBConstant.ALIGN_TIMESERIES_PREFIX + 0,
+ "$#$0",
new String[] {"sensor0", "sensor1"},
new TSDataType[] {TSDataType.BOOLEAN, TSDataType.INT64},
new TSEncoding[] {TSEncoding.PLAIN, TSEncoding.GORILLA},
@@ -323,8 +322,7 @@ public class PrimitiveMemTableTest {
MeasurementMNode[] mNodes = new MeasurementMNode[2];
IMeasurementSchema schema =
- new VectorMeasurementSchema(
- IoTDBConstant.ALIGN_TIMESERIES_PREFIX + 0, measurements,
dataTypes, encodings);
+ new VectorMeasurementSchema("$#$0", measurements, dataTypes,
encodings);
mNodes[0] = new MeasurementMNode(null, "sensor0", schema, null);
mNodes[1] = new MeasurementMNode(null, "sensor1", schema, null);
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 33f60e8..3f31c55 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
@@ -282,16 +282,6 @@ public class MManagerBasicTest {
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s1")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s2")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s3")));
- try {
- assertEquals(
- 1,
- manager
- .getStorageGroupNodeByStorageGroupPath(new
PartialPath("root.laptop"))
- .getAlignedTimeseriesIndex());
- } catch (MetadataException e) {
- e.printStackTrace();
- fail(e.getMessage());
- }
try {
manager.deleteTimeseries(new PartialPath("root.laptop.d1.s2"));
@@ -351,16 +341,6 @@ public class MManagerBasicTest {
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s0")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s2")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s4")));
- try {
- assertEquals(
- 2,
- manager
- .getStorageGroupNodeByStorageGroupPath(new
PartialPath("root.laptop"))
- .getAlignedTimeseriesIndex());
- } catch (MetadataException e) {
- e.printStackTrace();
- fail(e.getMessage());
- }
}
@Test
diff --git a/session/src/main/java/org/apache/iotdb/session/Session.java
b/session/src/main/java/org/apache/iotdb/session/Session.java
index bb72013..c219100 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -378,7 +378,7 @@ public class Session {
}
public void createAlignedTimeseries(
- String devicePath,
+ String prefixPath,
List<String> measurements,
List<TSDataType> dataTypes,
List<TSEncoding> encodings,
@@ -387,19 +387,19 @@ public class Session {
throws IoTDBConnectionException, StatementExecutionException {
TSCreateAlignedTimeseriesReq request =
getTSCreateAlignedTimeseriesReq(
- devicePath, measurements, dataTypes, encodings, compressor,
measurementAliasList);
+ prefixPath, measurements, dataTypes, encodings, compressor,
measurementAliasList);
defaultSessionConnection.createAlignedTimeseries(request);
}
private TSCreateAlignedTimeseriesReq getTSCreateAlignedTimeseriesReq(
- String devicePath,
+ String prefixPath,
List<String> measurements,
List<TSDataType> dataTypes,
List<TSEncoding> encodings,
CompressionType compressor,
List<String> measurementAliasList) {
TSCreateAlignedTimeseriesReq request = new TSCreateAlignedTimeseriesReq();
- request.setDevicePath(devicePath);
+ request.setPrefixPath(prefixPath);
request.setMeasurements(measurements);
request.setDataTypes(dataTypes.stream().map(TSDataType::ordinal).collect(Collectors.toList()));
request.setEncodings(encodings.stream().map(TSEncoding::ordinal).collect(Collectors.toList()));
diff --git
a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
index f239425..3258352 100644
--- a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
+++ b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
@@ -382,6 +382,7 @@ public class IoTDBSessionSimpleIT {
schemaList.add(new MeasurementSchema("s0", TSDataType.INT64));
schemaList.add(
new VectorMeasurementSchema(
+ "vector",
new String[] {"s1", "s2", "s3"},
new TSDataType[] {TSDataType.INT64, TSDataType.INT32,
TSDataType.TEXT}));
schemaList.add(new MeasurementSchema("s4", TSDataType.INT32));
diff --git a/thrift/src/main/thrift/rpc.thrift
b/thrift/src/main/thrift/rpc.thrift
index 76781ce..93429b9 100644
--- a/thrift/src/main/thrift/rpc.thrift
+++ b/thrift/src/main/thrift/rpc.thrift
@@ -273,7 +273,7 @@ struct TSCreateTimeseriesReq {
struct TSCreateAlignedTimeseriesReq {
1: required i64 sessionId
- 2: required string devicePath
+ 2: required string prefixPath
3: required list<string> measurements
4: required list<i32> dataTypes
5: required list<i32> encodings
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/VectorMeasurementSchema.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/VectorMeasurementSchema.java
index 345c909..f9eb2b6 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/VectorMeasurementSchema.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/VectorMeasurementSchema.java
@@ -78,7 +78,8 @@ public class VectorMeasurementSchema
this.compressor = compressionType.serialize();
}
- public VectorMeasurementSchema(String[] measurements, TSDataType[] types) {
+ public VectorMeasurementSchema(String measurementId, String[] measurements,
TSDataType[] types) {
+ this.vectorMeausurementId = measurementId;
this.measurementsToIndexMap = new HashMap<>();
for (int i = 0; i < measurements.length; i++) {
measurementsToIndexMap.put(measurements[i], i);
@@ -352,7 +353,7 @@ public class VectorMeasurementSchema
@Override
public String toString() {
StringContainer sc = new StringContainer("");
- sc.addTail(vectorMeausurementId);
+ sc.addTail(vectorMeausurementId, ",");
// string is not in real order
for (Map.Entry<String, Integer> entry : measurementsToIndexMap.entrySet())
{
sc.addTail(