You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xu...@apache.org on 2021/05/31 06:51:30 UTC
[iotdb] branch vector_refactor updated: add template name
This is an automated email from the ASF dual-hosted git repository.
xuekaifeng 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 47043a8 add template name
47043a8 is described below
commit 47043a89d102944714857e0e195c60996244c135
Author: 151250176 <15...@smail.nju.edu.cn>
AuthorDate: Mon May 31 14:39:29 2021 +0800
add template name
---
.../org/apache/iotdb/VectorSessionExample.java | 9 ++++--
.../org/apache/iotdb/db/metadata/MManager.java | 1 -
.../iotdb/db/metadata/template/Template.java | 16 ++---------
.../db/qp/physical/crud/CreateTemplatePlan.java | 32 +++++++++++++++++++++-
.../org/apache/iotdb/db/service/TSServiceImpl.java | 18 ++++++++----
.../iotdb/db/metadata/MManagerBasicTest.java | 26 ++++++++++++++++--
.../iotdb/db/qp/physical/InsertRowPlanTest.java | 12 +++++++-
.../iotdb/db/qp/physical/InsertTabletPlanTest.java | 7 ++++-
.../java/org/apache/iotdb/session/Session.java | 32 +++++++++++++---------
.../apache/iotdb/session/SessionConnection.java | 16 +++++------
.../java/org/apache/iotdb/session/SessionUT.java | 10 +++++--
thrift/src/main/thrift/rpc.thrift | 17 ++++++------
12 files changed, 136 insertions(+), 60 deletions(-)
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 afeef91..12ea749 100644
--- a/example/session/src/main/java/org/apache/iotdb/VectorSessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/VectorSessionExample.java
@@ -204,9 +204,12 @@ public class VectorSessionExample {
List<CompressionType> compressionTypeList = new ArrayList<>();
compressionTypeList.add(CompressionType.SNAPPY);
- session.createDeviceTemplate(
- "template1", measurementList, dataTypeList, encodingList, compressionTypeList);
- session.setDeviceTemplate("template1", "root.sg_1");
+ List<String> schemaList = new ArrayList<>();
+ schemaList.add("test_vector");
+
+ session.createSchemaTemplate(
+ "template1", schemaList, measurementList, dataTypeList, encodingList, compressionTypeList);
+ session.setSchemaTemplate("template1", "root.sg_1");
}
/** Method 1 for insert tablet with aligned timeseries */
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 bac2ad5..1373fd1 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
@@ -320,7 +320,6 @@ public class MManager {
public void clear() {
try {
templateMap.clear();
- Template.clear();
this.mtree = new MTree();
this.mNodeCache.clear();
this.tagIndex.clear();
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/template/Template.java b/server/src/main/java/org/apache/iotdb/db/metadata/template/Template.java
index 84bf240..0f7c326 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/template/Template.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/template/Template.java
@@ -18,11 +18,9 @@
*/
package org.apache.iotdb.db.metadata.template;
-import org.apache.iotdb.db.conf.IoTDBConstant;
import org.apache.iotdb.db.metadata.PartialPath;
import org.apache.iotdb.db.metadata.mnode.MeasurementMNode;
import org.apache.iotdb.db.qp.physical.crud.CreateTemplatePlan;
-import org.apache.iotdb.db.utils.TestOnly;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
@@ -37,14 +35,11 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicLong;
public class Template {
- private static final AtomicLong increasingId = new AtomicLong();
+ private String name;
- String name;
-
- Map<String, IMeasurementSchema> schemaMap = new HashMap<>();
+ private Map<String, IMeasurementSchema> schemaMap = new HashMap<>();
public Template(CreateTemplatePlan plan) {
name = plan.getName();
@@ -67,7 +62,7 @@ public class Template {
curSchema =
new VectorMeasurementSchema(
- IoTDBConstant.ALIGN_TIMESERIES_PREFIX + "#" + increasingId.getAndIncrement(),
+ plan.getSchemaNames().get(i),
measurementsArray,
typeArray,
encodingArray,
@@ -114,11 +109,6 @@ public class Template {
return !schemaMap.containsKey(path.getMeasurement());
}
- @TestOnly
- public static void clear() {
- increasingId.set(0);
- }
-
public List<MeasurementMNode> getMeasurementMNode() {
Set<IMeasurementSchema> deduplicateSchema = new HashSet<>();
List<MeasurementMNode> res = new ArrayList<>();
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/CreateTemplatePlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/CreateTemplatePlan.java
index 6dba97a..82c45b4 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/CreateTemplatePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/CreateTemplatePlan.java
@@ -36,11 +36,20 @@ import java.util.List;
public class CreateTemplatePlan extends PhysicalPlan {
String name;
+ List<String> schemaNames;
List<List<String>> measurements;
List<List<TSDataType>> dataTypes;
List<List<TSEncoding>> encodings;
List<CompressionType> compressors;
+ public List<String> getSchemaNames() {
+ return schemaNames;
+ }
+
+ public void setSchemaNames(List<String> schemaNames) {
+ this.schemaNames = schemaNames;
+ }
+
public String getName() {
return name;
}
@@ -87,12 +96,14 @@ public class CreateTemplatePlan extends PhysicalPlan {
public CreateTemplatePlan(
String name,
+ List<String> schemaNames,
List<List<String>> measurements,
List<List<TSDataType>> dataTypes,
List<List<TSEncoding>> encodings,
List<CompressionType> compressors) {
super(false, OperatorType.CREATE_TEMPLATE);
this.name = name;
+ this.schemaNames = schemaNames;
this.measurements = measurements;
this.dataTypes = dataTypes;
this.encodings = encodings;
@@ -105,6 +116,12 @@ public class CreateTemplatePlan extends PhysicalPlan {
ReadWriteIOUtils.write(name, buffer);
+ // schema names
+ ReadWriteIOUtils.write(schemaNames.size(), buffer);
+ for (String schemaName : schemaNames) {
+ ReadWriteIOUtils.write(schemaName, buffer);
+ }
+
// measurements
ReadWriteIOUtils.write(measurements.size(), buffer);
for (List<String> measurementList : measurements) {
@@ -145,8 +162,15 @@ public class CreateTemplatePlan extends PhysicalPlan {
public void deserialize(ByteBuffer buffer) {
name = ReadWriteIOUtils.readString(buffer);
- // measurements
+ // schema names
int size = ReadWriteIOUtils.readInt(buffer);
+ schemaNames = new ArrayList<>(size);
+ for (int i = 0; i < size; i++) {
+ schemaNames.add(ReadWriteIOUtils.readString(buffer));
+ }
+
+ // measurements
+ size = ReadWriteIOUtils.readInt(buffer);
measurements = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
int listSize = ReadWriteIOUtils.readInt(buffer);
@@ -197,6 +221,12 @@ public class CreateTemplatePlan extends PhysicalPlan {
ReadWriteIOUtils.write(name, stream);
+ // schema names
+ ReadWriteIOUtils.write(schemaNames.size(), stream);
+ for (String schemaName : schemaNames) {
+ ReadWriteIOUtils.write(schemaName, stream);
+ }
+
// measurements
ReadWriteIOUtils.write(measurements.size(), stream);
for (List<String> measurementList : measurements) {
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 fc8c344..cf8f4a7 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
@@ -97,8 +97,8 @@ import org.apache.iotdb.service.rpc.thrift.TSCancelOperationReq;
import org.apache.iotdb.service.rpc.thrift.TSCloseOperationReq;
import org.apache.iotdb.service.rpc.thrift.TSCloseSessionReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateAlignedTimeseriesReq;
-import org.apache.iotdb.service.rpc.thrift.TSCreateDeviceTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateMultiTimeseriesReq;
+import org.apache.iotdb.service.rpc.thrift.TSCreateSchemaTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateTimeseriesReq;
import org.apache.iotdb.service.rpc.thrift.TSDeleteDataReq;
import org.apache.iotdb.service.rpc.thrift.TSExecuteBatchStatementReq;
@@ -123,7 +123,7 @@ import org.apache.iotdb.service.rpc.thrift.TSProtocolVersion;
import org.apache.iotdb.service.rpc.thrift.TSQueryDataSet;
import org.apache.iotdb.service.rpc.thrift.TSQueryNonAlignDataSet;
import org.apache.iotdb.service.rpc.thrift.TSRawDataQueryReq;
-import org.apache.iotdb.service.rpc.thrift.TSSetDeviceTemplateReq;
+import org.apache.iotdb.service.rpc.thrift.TSSetSchemaTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSSetTimeZoneReq;
import org.apache.iotdb.service.rpc.thrift.TSStatus;
import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException;
@@ -1937,7 +1937,7 @@ public class TSServiceImpl implements TSIService.Iface {
}
@Override
- public TSStatus createDeviceTemplate(TSCreateDeviceTemplateReq req) throws TException {
+ public TSStatus createSchemaTemplate(TSCreateSchemaTemplateReq req) throws TException {
try {
if (!checkLogin(req.getSessionId())) {
return RpcUtils.getStatus(TSStatusCode.NOT_LOGIN_ERROR);
@@ -1945,9 +1945,10 @@ public class TSServiceImpl implements TSIService.Iface {
if (AUDIT_LOGGER.isDebugEnabled()) {
AUDIT_LOGGER.debug(
- "Session-{} create device template {}.{}.{}.{}.{}",
+ "Session-{} create device template {}.{}.{}.{}.{}.{}",
currSessionId.get(),
req.getName(),
+ req.getSchemaNames(),
req.getMeasurements(),
req.getDataTypes(),
req.getEncodings(),
@@ -1979,7 +1980,12 @@ public class TSServiceImpl implements TSIService.Iface {
CreateTemplatePlan plan =
new CreateTemplatePlan(
- req.getName(), req.getMeasurements(), dataTypes, encodings, compressionTypes);
+ req.getName(),
+ req.getSchemaNames(),
+ req.getMeasurements(),
+ dataTypes,
+ encodings,
+ compressionTypes);
TSStatus status = checkAuthority(plan, req.getSessionId());
return status != null ? status : executeNonQueryPlan(plan);
@@ -1990,7 +1996,7 @@ public class TSServiceImpl implements TSIService.Iface {
}
@Override
- public TSStatus setDeviceTemplate(TSSetDeviceTemplateReq req) throws TException {
+ public TSStatus setSchemaTemplate(TSSetSchemaTemplateReq req) throws TException {
if (!checkLogin(req.getSessionId())) {
return RpcUtils.getStatus(TSStatusCode.NOT_LOGIN_ERROR);
}
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 8570947..137a514 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
@@ -932,8 +932,12 @@ public class MManagerBasicTest {
compressionTypes.add(CompressionType.SNAPPY);
}
+ List<String> schemaNames = new ArrayList<>();
+ schemaNames.add("s11");
+ schemaNames.add("test_vector");
+
return new CreateTemplatePlan(
- "template1", measurementList, dataTypeList, encodingList, compressionTypes);
+ "template1", schemaNames, measurementList, dataTypeList, encodingList, compressionTypes);
}
@Test
@@ -968,15 +972,21 @@ public class MManagerBasicTest {
compressionTypes.add(CompressionType.SNAPPY);
}
+ List<String> schemaNames = new ArrayList<>();
+ schemaNames.add("s11");
+ schemaNames.add("test_vector");
+
CreateTemplatePlan plan1 =
new CreateTemplatePlan(
"template1",
+ new ArrayList<>(schemaNames),
new ArrayList<>(measurementList),
new ArrayList<>(dataTypeList),
new ArrayList<>(encodingList),
new ArrayList<>(compressionTypes));
measurementList.add(Collections.singletonList("s12"));
+ schemaNames.add("s12");
dataTypeList.add(Collections.singletonList(TSDataType.INT64));
encodingList.add(Collections.singletonList(TSEncoding.RLE));
compressionTypes.add(CompressionType.SNAPPY);
@@ -984,6 +994,7 @@ public class MManagerBasicTest {
CreateTemplatePlan plan2 =
new CreateTemplatePlan(
"template2",
+ new ArrayList<>(schemaNames),
new ArrayList<>(measurementList),
new ArrayList<>(dataTypeList),
new ArrayList<>(encodingList),
@@ -1002,6 +1013,7 @@ public class MManagerBasicTest {
CreateTemplatePlan plan3 =
new CreateTemplatePlan(
"template3",
+ new ArrayList<>(schemaNames),
new ArrayList<>(measurementList),
new ArrayList<>(dataTypeList),
new ArrayList<>(encodingList),
@@ -1023,6 +1035,7 @@ public class MManagerBasicTest {
CreateTemplatePlan plan4 =
new CreateTemplatePlan(
"template4",
+ new ArrayList<>(schemaNames),
new ArrayList<>(measurementList),
new ArrayList<>(dataTypeList),
new ArrayList<>(encodingList),
@@ -1195,9 +1208,18 @@ public class MManagerBasicTest {
compressionTypes.add(compressionType);
}
+ List<String> schemaNames = new ArrayList<>();
+ schemaNames.add("s0");
+ schemaNames.add("test_vector");
+
CreateTemplatePlan plan =
new CreateTemplatePlan(
- "template1", measurementList, dataTypeList, encodingList, compressionTypes);
+ "template1",
+ schemaNames,
+ measurementList,
+ dataTypeList,
+ encodingList,
+ compressionTypes);
MManager manager = IoTDB.metaManager;
try {
manager.createDeviceTemplate(plan);
diff --git a/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java b/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java
index 3fe2736..8b87210 100644
--- a/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java
@@ -175,9 +175,19 @@ public class InsertRowPlanTest {
compressionTypes.add(CompressionType.SNAPPY);
}
+ List<String> schemaNames = new ArrayList<>();
+ schemaNames.add("test_vector1");
+ schemaNames.add("test_vector2");
+ schemaNames.add("s6");
+
CreateTemplatePlan plan =
new CreateTemplatePlan(
- "template1", measurementList, dataTypesList, encodingList, compressionTypes);
+ "template1",
+ schemaNames,
+ measurementList,
+ dataTypesList,
+ encodingList,
+ compressionTypes);
IoTDB.metaManager.createDeviceTemplate(plan);
IoTDB.metaManager.setDeviceTemplate(new SetDeviceTemplatePlan("template1", "root.isp.d1"));
diff --git a/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertTabletPlanTest.java b/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertTabletPlanTest.java
index 17e6ab1..15461c6 100644
--- a/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertTabletPlanTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertTabletPlanTest.java
@@ -241,8 +241,13 @@ public class InsertTabletPlanTest {
compressionTypes.add(CompressionType.SNAPPY);
}
+ List<String> schemaNames = new ArrayList<>();
+ schemaNames.add("test_vector1");
+ schemaNames.add("test_vector2");
+ schemaNames.add("s6");
+
return new CreateTemplatePlan(
- "template1", measurementList, dataTypesList, encodingList, compressionTypes);
+ "template1", schemaNames, measurementList, dataTypesList, encodingList, compressionTypes);
}
@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 6fc4ab4..bb72013 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -24,8 +24,8 @@ import org.apache.iotdb.rpc.RedirectException;
import org.apache.iotdb.rpc.StatementExecutionException;
import org.apache.iotdb.service.rpc.thrift.EndPoint;
import org.apache.iotdb.service.rpc.thrift.TSCreateAlignedTimeseriesReq;
-import org.apache.iotdb.service.rpc.thrift.TSCreateDeviceTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateMultiTimeseriesReq;
+import org.apache.iotdb.service.rpc.thrift.TSCreateSchemaTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateTimeseriesReq;
import org.apache.iotdb.service.rpc.thrift.TSDeleteDataReq;
import org.apache.iotdb.service.rpc.thrift.TSInsertRecordReq;
@@ -36,7 +36,7 @@ import org.apache.iotdb.service.rpc.thrift.TSInsertStringRecordsReq;
import org.apache.iotdb.service.rpc.thrift.TSInsertTabletReq;
import org.apache.iotdb.service.rpc.thrift.TSInsertTabletsReq;
import org.apache.iotdb.service.rpc.thrift.TSProtocolVersion;
-import org.apache.iotdb.service.rpc.thrift.TSSetDeviceTemplateReq;
+import org.apache.iotdb.service.rpc.thrift.TSSetSchemaTemplateReq;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
@@ -1625,14 +1625,16 @@ public class Session {
return sortedBitMap;
}
- public void setDeviceTemplate(String templateName, String prefixPath)
+ public void setSchemaTemplate(String templateName, String prefixPath)
throws IoTDBConnectionException, StatementExecutionException {
- TSSetDeviceTemplateReq request = getTSSetDeviceTemplateReq(templateName, prefixPath);
- defaultSessionConnection.setDeviceTemplate(request);
+ TSSetSchemaTemplateReq request = getTSSetSchemaTemplateReq(templateName, prefixPath);
+ defaultSessionConnection.setSchemaTemplate(request);
}
/**
* @param name template name
+ * @param schemaNames list of schema names, if this measurement is vector, name it. if this
+ * measurement is not vector, keep this name as same as measurement's name
* @param measurements List of measurements, if it is a single measurement, just put it's name
* into a list and add to measurements if it is a vector measurement, put all measurements of
* the vector into a list and add to measurements
@@ -1646,33 +1648,37 @@ public class Session {
* @throws IoTDBConnectionException
* @throws StatementExecutionException
*/
- public void createDeviceTemplate(
+ public void createSchemaTemplate(
String name,
+ List<String> schemaNames,
List<List<String>> measurements,
List<List<TSDataType>> dataTypes,
List<List<TSEncoding>> encodings,
List<CompressionType> compressors)
throws IoTDBConnectionException, StatementExecutionException {
- TSCreateDeviceTemplateReq request =
- getTSCreateDeviceTemplateReq(name, measurements, dataTypes, encodings, compressors);
- defaultSessionConnection.createDeviceTemplate(request);
+ TSCreateSchemaTemplateReq request =
+ getTSCreateSchemaTemplateReq(
+ name, schemaNames, measurements, dataTypes, encodings, compressors);
+ defaultSessionConnection.createSchemaTemplate(request);
}
- private TSSetDeviceTemplateReq getTSSetDeviceTemplateReq(String templateName, String prefixPath) {
- TSSetDeviceTemplateReq request = new TSSetDeviceTemplateReq();
+ private TSSetSchemaTemplateReq getTSSetSchemaTemplateReq(String templateName, String prefixPath) {
+ TSSetSchemaTemplateReq request = new TSSetSchemaTemplateReq();
request.setTemplateName(templateName);
request.setPrefixPath(prefixPath);
return request;
}
- private TSCreateDeviceTemplateReq getTSCreateDeviceTemplateReq(
+ private TSCreateSchemaTemplateReq getTSCreateSchemaTemplateReq(
String name,
+ List<String> schemaNames,
List<List<String>> measurements,
List<List<TSDataType>> dataTypes,
List<List<TSEncoding>> encodings,
List<CompressionType> compressors) {
- TSCreateDeviceTemplateReq request = new TSCreateDeviceTemplateReq();
+ TSCreateSchemaTemplateReq request = new TSCreateSchemaTemplateReq();
request.setName(name);
+ request.setSchemaNames(schemaNames);
request.setMeasurements(measurements);
List<List<Integer>> requestType = new ArrayList<>();
diff --git a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
index 402523d..2a5cc3b 100644
--- a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
+++ b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
@@ -28,8 +28,8 @@ import org.apache.iotdb.rpc.TConfigurationConst;
import org.apache.iotdb.service.rpc.thrift.EndPoint;
import org.apache.iotdb.service.rpc.thrift.TSCloseSessionReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateAlignedTimeseriesReq;
-import org.apache.iotdb.service.rpc.thrift.TSCreateDeviceTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateMultiTimeseriesReq;
+import org.apache.iotdb.service.rpc.thrift.TSCreateSchemaTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSCreateTimeseriesReq;
import org.apache.iotdb.service.rpc.thrift.TSDeleteDataReq;
import org.apache.iotdb.service.rpc.thrift.TSExecuteStatementReq;
@@ -45,7 +45,7 @@ import org.apache.iotdb.service.rpc.thrift.TSInsertTabletsReq;
import org.apache.iotdb.service.rpc.thrift.TSOpenSessionReq;
import org.apache.iotdb.service.rpc.thrift.TSOpenSessionResp;
import org.apache.iotdb.service.rpc.thrift.TSRawDataQueryReq;
-import org.apache.iotdb.service.rpc.thrift.TSSetDeviceTemplateReq;
+import org.apache.iotdb.service.rpc.thrift.TSSetSchemaTemplateReq;
import org.apache.iotdb.service.rpc.thrift.TSSetTimeZoneReq;
import org.apache.iotdb.service.rpc.thrift.TSStatus;
@@ -698,16 +698,16 @@ public class SessionConnection {
return flag;
}
- protected void createDeviceTemplate(TSCreateDeviceTemplateReq request)
+ protected void createSchemaTemplate(TSCreateSchemaTemplateReq request)
throws IoTDBConnectionException, StatementExecutionException {
request.setSessionId(sessionId);
try {
- RpcUtils.verifySuccess(client.createDeviceTemplate(request));
+ RpcUtils.verifySuccess(client.createSchemaTemplate(request));
} catch (TException e) {
if (reconnect()) {
try {
request.setSessionId(sessionId);
- RpcUtils.verifySuccess(client.createDeviceTemplate(request));
+ RpcUtils.verifySuccess(client.createSchemaTemplate(request));
} catch (TException tException) {
throw new IoTDBConnectionException(tException);
}
@@ -717,16 +717,16 @@ public class SessionConnection {
}
}
- protected void setDeviceTemplate(TSSetDeviceTemplateReq request)
+ protected void setSchemaTemplate(TSSetSchemaTemplateReq request)
throws IoTDBConnectionException, StatementExecutionException {
request.setSessionId(sessionId);
try {
- RpcUtils.verifySuccess(client.setDeviceTemplate(request));
+ RpcUtils.verifySuccess(client.setSchemaTemplate(request));
} catch (TException e) {
if (reconnect()) {
try {
request.setSessionId(sessionId);
- RpcUtils.verifySuccess(client.setDeviceTemplate(request));
+ RpcUtils.verifySuccess(client.setSchemaTemplate(request));
} catch (TException tException) {
throw new IoTDBConnectionException(tException);
}
diff --git a/session/src/test/java/org/apache/iotdb/session/SessionUT.java b/session/src/test/java/org/apache/iotdb/session/SessionUT.java
index 28f251c..590a97d 100644
--- a/session/src/test/java/org/apache/iotdb/session/SessionUT.java
+++ b/session/src/test/java/org/apache/iotdb/session/SessionUT.java
@@ -207,7 +207,7 @@ public class SessionUT {
session = new Session("127.0.0.1", 6667, "root", "root", ZoneId.of("+05:00"));
session.open();
- session.setDeviceTemplate("template1", "root.sg.1");
+ session.setSchemaTemplate("template1", "root.sg.1");
}
@Test
@@ -244,7 +244,11 @@ public class SessionUT {
compressionTypes.add(CompressionType.SNAPPY);
}
- session.createDeviceTemplate(
- "template1", measurementList, dataTypeList, encodingList, compressionTypes);
+ List<String> schemaNames = new ArrayList<>();
+ schemaNames.add("s11");
+ schemaNames.add("test_vector");
+
+ session.createSchemaTemplate(
+ "template1", schemaNames, measurementList, dataTypeList, encodingList, compressionTypes);
}
}
diff --git a/thrift/src/main/thrift/rpc.thrift b/thrift/src/main/thrift/rpc.thrift
index 0b64889..76781ce 100644
--- a/thrift/src/main/thrift/rpc.thrift
+++ b/thrift/src/main/thrift/rpc.thrift
@@ -309,19 +309,20 @@ struct ServerProperties {
3: required string timestampPrecision;
}
-struct TSSetDeviceTemplateReq {
+struct TSSetSchemaTemplateReq {
1: required i64 sessionId
2: required string templateName
3: required string prefixPath
}
-struct TSCreateDeviceTemplateReq {
+struct TSCreateSchemaTemplateReq {
1: required i64 sessionId
2: required string name
- 3: required list<list<string>> measurements
- 4: required list<list<i32>> dataTypes
- 5: required list<list<i32>> encodings
- 6: required list<i32> compressors
+ 3: required list<string> schemaNames
+ 4: required list<list<string>> measurements
+ 5: required list<list<i32>> dataTypes
+ 6: required list<list<i32>> encodings
+ 7: required list<i32> compressors
}
service TSIService {
@@ -397,7 +398,7 @@ service TSIService {
i64 requestStatementId(1:i64 sessionId);
- TSStatus createDeviceTemplate(1:TSCreateDeviceTemplateReq req);
+ TSStatus createSchemaTemplate(1:TSCreateSchemaTemplateReq req);
- TSStatus setDeviceTemplate(1:TSSetDeviceTemplateReq req);
+ TSStatus setSchemaTemplate(1:TSSetSchemaTemplateReq req);
}