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

geniuspig pushed a commit to branch optimize_path_v2
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit fb6cef2f436cc2f8f82f91bc458bc35eb641c45d
Author: zhutianci <[email protected]>
AuthorDate: Sat Aug 15 16:24:49 2020 +0800

    path and plan
---
 .../main/java/org/apache/iotdb/db/metadata/PartialPath.java |  5 +++++
 .../iotdb/db/qp/logical/sys/DeletePartitionOperator.java    |  7 ++++---
 .../apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java |  7 ++++---
 .../main/java/org/apache/iotdb/db/utils/SchemaUtils.java    | 13 ++++++-------
 4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/PartialPath.java 
b/server/src/main/java/org/apache/iotdb/db/metadata/PartialPath.java
index a941410..506dd29 100755
--- a/server/src/main/java/org/apache/iotdb/db/metadata/PartialPath.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/PartialPath.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.metadata;
 import java.util.Arrays;
 import org.apache.iotdb.db.exception.metadata.IllegalPathException;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
+import org.apache.iotdb.tsfile.read.common.Path;
 
 /**
  * A prefix path, suffix path or fullPath generated from SQL
@@ -152,6 +153,10 @@ public class PartialPath implements 
Comparable<PartialPath> {
     return true;
   }
 
+  public Path toTSFilePath() {
+    return new Path(getPathWithoutLastNode(), getLastNode());
+  }
+
   @Override
   public int compareTo(PartialPath o) {
     return this.toString().compareTo(o.toString());
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/DeletePartitionOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/DeletePartitionOperator.java
index 33e2345..5615893 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/DeletePartitionOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/DeletePartitionOperator.java
@@ -20,11 +20,12 @@
 package org.apache.iotdb.db.qp.logical.sys;
 
 import java.util.Set;
+import org.apache.iotdb.db.metadata.PartialPath;
 import org.apache.iotdb.db.qp.logical.RootOperator;
 
 public class DeletePartitionOperator extends RootOperator {
 
-  private String storageGroupName;
+  private PartialPath storageGroupName;
   private Set<Long> partitionIds;
 
   public DeletePartitionOperator(int tokenIntType) {
@@ -32,7 +33,7 @@ public class DeletePartitionOperator extends RootOperator {
     operatorType = OperatorType.DELETE_PARTITION;
   }
 
-  public void setStorageGroupName(String storageGroupName) {
+  public void setStorageGroupName(PartialPath storageGroupName) {
     this.storageGroupName = storageGroupName;
   }
 
@@ -40,7 +41,7 @@ public class DeletePartitionOperator extends RootOperator {
     this.partitionIds = partitionIds;
   }
 
-  public String getStorageGroupName() {
+  public PartialPath getStorageGroupName() {
     return storageGroupName;
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
index cf1e550..1499f92 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
@@ -20,6 +20,7 @@ package org.apache.iotdb.db.qp.physical.crud;
 
 import java.util.List;
 import java.util.Map;
+import org.apache.iotdb.db.metadata.PartialPath;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.logical.Operator.OperatorType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -29,7 +30,7 @@ public class AlignByDevicePlan extends QueryPlan {
 
   private List<String> measurements; // to record result measurement columns, 
e.g. temperature, status, speed
   // to check data type consistency for the same name sensor of different 
devices
-  private List<String> devices;
+  private List<PartialPath> devices;
   // to record the datatype of the column in the result set
   private Map<String, TSDataType> columnDataTypeMap;
   private Map<String, IExpression> deviceToFilterMap;
@@ -56,11 +57,11 @@ public class AlignByDevicePlan extends QueryPlan {
     return measurements;
   }
 
-  public void setDevices(List<String> devices) {
+  public void setDevices(List<PartialPath> devices) {
     this.devices = devices;
   }
 
-  public List<String> getDevices() {
+  public List<PartialPath> getDevices() {
     return devices;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java 
b/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
index 4131d79..dc0305b 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
@@ -34,7 +34,6 @@ import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
-import org.apache.iotdb.tsfile.read.common.Path;
 import org.apache.iotdb.tsfile.write.schema.TimeseriesSchema;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -76,7 +75,7 @@ public class SchemaUtils {
   public static void registerTimeseries(TimeseriesSchema schema) {
     try {
       logger.debug("Registering timeseries {}", schema);
-      String path = schema.getFullPath();
+      PartialPath path = new PartialPath(schema.getFullPath());
       TSDataType dataType = schema.getType();
       TSEncoding encoding = schema.getEncodingType();
       CompressionType compressionType = schema.getCompressor();
@@ -118,20 +117,20 @@ public class SchemaUtils {
     return dataTypes;
   }
 
-  public static List<TSDataType> getSeriesTypesByPath(Collection<Path> paths,
+  public static List<TSDataType> getSeriesTypesByPath(Collection<PartialPath> 
paths,
       String aggregation) throws MetadataException {
     TSDataType dataType = getAggregationType(aggregation);
     if (dataType != null) {
       return Collections.nCopies(paths.size(), dataType);
     }
     List<TSDataType> dataTypes = new ArrayList<>();
-    for (Path path : paths) {
-      dataTypes.add(IoTDB.metaManager.getSeriesType(path.getFullPath()));
+    for (PartialPath path : paths) {
+      dataTypes.add(IoTDB.metaManager.getSeriesType(path));
     }
     return dataTypes;
   }
 
-  public static List<TSDataType> getSeriesTypesByPath(List<Path> paths,
+  public static List<TSDataType> getSeriesTypesByPath(List<PartialPath> paths,
       List<String> aggregations) throws MetadataException {
     List<TSDataType> tsDataTypes = new ArrayList<>();
     for (int i = 0; i < paths.size(); i++) {
@@ -139,7 +138,7 @@ public class SchemaUtils {
       if (dataType != null) {
         tsDataTypes.add(dataType);
       } else {
-        
tsDataTypes.add(IoTDB.metaManager.getSeriesType(paths.get(i).getFullPath()));
+        tsDataTypes.add(IoTDB.metaManager.getSeriesType(paths.get(i)));
       }
     }
     return tsDataTypes;

Reply via email to