You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ge...@apache.org on 2020/07/14 09:24:12 UTC
[incubator-iotdb] branch optimize_path updated: finished insert.
This is an automated email from the ASF dual-hosted git repository.
geniuspig pushed a commit to branch optimize_path
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/optimize_path by this push:
new f6ffcf8 finished insert.
f6ffcf8 is described below
commit f6ffcf8542df30cda1e6b56e7cf435bcb9d2dd4d
Author: zhutianci <zh...@gmail.com>
AuthorDate: Tue Jul 14 17:23:47 2020 +0800
finished insert.
---
server/src/main/java/org/apache/iotdb/db/metadata/MManager.java | 8 +++-----
.../main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java | 2 +-
.../java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java | 5 +++++
.../java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java | 1 -
4 files changed, 9 insertions(+), 7 deletions(-)
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 aadb8fa..b810458 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
@@ -1938,13 +1938,13 @@ public class MManager {
* Attention!!! Only support insertPlan
* @throws MetadataException
*/
- public MeasurementSchema[] getSeriesSchemasAndReadLockDevice(String deviceId,
+ public MeasurementSchema[] getSeriesSchemasAndReadLockDevice(String deviceId, List<String> nodes,
String[] measurementList, InsertPlan plan) throws MetadataException {
MeasurementSchema[] schemas = new MeasurementSchema[measurementList.length];
MNode deviceNode;
// 1. get device node
- deviceNode = getDeviceNodeWithAutoCreateAndReadLock(deviceId);
+ deviceNode = getDeviceNodeWithAutoCreateAndReadLock(deviceId, nodes);
// 2. get schema of each measurement
for (int i = 0; i < measurementList.length; i++) {
@@ -1957,12 +1957,10 @@ public class MManager {
"Current deviceId[%s] does not contain measurement:%s", deviceId, measurementList[i]));
}
- // create it
- Path path = new Path(deviceId, measurementList[i]);
TSDataType dataType = getTypeInLoc(plan, i);
createTimeseries(
- path.getFullPath(),
+ deviceNode.getFullPath() + measurementList[i],
dataType,
getDefaultEncoding(dataType),
TSFileDescriptor.getInstance().getConfig().getCompressor(),
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index e6314ad..d80a464 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -850,7 +850,7 @@ public class PlanExecutor implements IPlanExecutor {
protected MeasurementSchema[] getSeriesSchemas(InsertPlan insertPlan)
throws MetadataException {
- return mManager.getSeriesSchemasAndReadLockDevice(insertPlan.getDeviceId(), insertPlan.getMeasurements(), insertPlan);
+ return mManager.getSeriesSchemasAndReadLockDevice(insertPlan.getDeviceId(), insertPlan.getDeviceNodes(), insertPlan.getMeasurements(), insertPlan);
}
@Override
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
index 36a1174..9498c0b 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
@@ -30,6 +30,7 @@ import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
abstract public class InsertPlan extends PhysicalPlan {
protected String deviceId;
+ protected List<String> deviceNodes;
protected String[] measurements;
protected TSDataType[] dataTypes;
protected MeasurementSchema[] schemas;
@@ -89,6 +90,10 @@ abstract public class InsertPlan extends PhysicalPlan {
return deviceMNode;
}
+ public List<String> getDeviceNodes() {
+ return deviceNodes;
+ }
+
public void setDeviceMNode(MNode deviceMNode) {
this.deviceMNode = deviceMNode;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
index 9ce8574..f848648 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
@@ -52,7 +52,6 @@ public class InsertRowPlan extends InsertPlan {
private long time;
private Object[] values;
- private List<String> deviceNodes;
// if isNeedInferType is true, the values must be String[], so we could infer types from them
// if values is object[], we could use the raw type of them, and we should set this to false