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

jackietien pushed a commit to branch TreeModelDataPartition
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 66073a698bdfa8c7e45aac4b2f66f6ffda6aeab5
Author: JackieTien97 <[email protected]>
AuthorDate: Mon Jun 24 16:16:56 2024 +0800

    change some
---
 .../iotdb/db/queryengine/plan/analyze/Analysis.java       |  6 +++---
 .../iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java | 15 ++++-----------
 .../plan/planner/distribution/SourceRewriter.java         |  6 ++----
 .../java/org/apache/iotdb/commons/utils/PathUtils.java    |  4 +---
 4 files changed, 10 insertions(+), 21 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
index beb5cf6989f..e9b8f05bf46 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
@@ -181,7 +181,7 @@ public class Analysis implements IAnalysis {
   private Map<String, Set<Expression>> deviceToOutputExpressions = new 
HashMap<>();
 
   // map from output device name to queried devices
-  private Map<String, String> outputDeviceToQueriedDevicesMap;
+  private Map<String, IDeviceID> outputDeviceToQueriedDevicesMap;
 
   // indicates whether DeviceView need special process when rewriteSource in 
DistributionPlan,
   // you can see SourceRewriter#visitDeviceView to get more information
@@ -892,12 +892,12 @@ public class Analysis implements IAnalysis {
     this.lastQueryNonWritableViewSourceExpressionMap = 
lastQueryNonWritableViewSourceExpressionMap;
   }
 
-  public Map<String, String> getOutputDeviceToQueriedDevicesMap() {
+  public Map<String, IDeviceID> getOutputDeviceToQueriedDevicesMap() {
     return outputDeviceToQueriedDevicesMap;
   }
 
   public void setOutputDeviceToQueriedDevicesMap(
-      Map<String, String> outputDeviceToQueriedDevicesMap) {
+      Map<String, IDeviceID> outputDeviceToQueriedDevicesMap) {
     this.outputDeviceToQueriedDevicesMap = outputDeviceToQueriedDevicesMap;
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index b94d0d75e0a..56aaf3f4025 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@ -155,7 +155,6 @@ import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.thrift.TException;
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.file.metadata.IDeviceID;
-import org.apache.tsfile.file.metadata.IDeviceID.Factory;
 import org.apache.tsfile.read.common.TimeRange;
 import org.apache.tsfile.read.filter.basic.Filter;
 import org.apache.tsfile.utils.Pair;
@@ -1340,16 +1339,14 @@ public class AnalyzeVisitor extends 
StatementVisitor<Analysis, MPPQueryContext>
       }
     }
 
-    Map<String, String> outputDeviceToQueriedDevicesMap = new 
LinkedHashMap<>();
+    Map<String, IDeviceID> outputDeviceToQueriedDevicesMap = new 
LinkedHashMap<>();
     for (Map.Entry<String, Set<Expression>> entry : 
deviceToSourceExpressions.entrySet()) {
       String deviceName = entry.getKey();
       Set<Expression> sourceExpressionsUnderDevice = entry.getValue();
-      Set<String> queriedDevices = new HashSet<>();
-      // TODO: Change outputDeviceToQueriedDevicesMap to Map<IDeviceID, 
IDeviceID> to remove
+      Set<IDeviceID> queriedDevices = new HashSet<>();
       // conversion
       for (Expression expression : sourceExpressionsUnderDevice) {
-        queriedDevices.add(
-            
ExpressionAnalyzer.getDeviceNameInSourceExpression(expression).toString());
+        
queriedDevices.add(ExpressionAnalyzer.getDeviceNameInSourceExpression(expression));
       }
       if (queriedDevices.size() > 1) {
         throw new SemanticException(
@@ -1990,12 +1987,8 @@ public class AnalyzeVisitor extends 
StatementVisitor<Analysis, MPPQueryContext>
       MPPQueryContext context) {
     Set<IDeviceID> deviceSet = new HashSet<>();
     if (queryStatement.isAlignByDevice()) {
-      // TODO: change OutputDeviceToQueriedDevicesMap to Map<IDeviceID, 
IDeviceID> to remove
       // conversion
-      deviceSet =
-          analysis.getOutputDeviceToQueriedDevicesMap().values().stream()
-              .map(Factory.DEFAULT_FACTORY::create)
-              .collect(Collectors.toSet());
+      deviceSet = new 
HashSet<>(analysis.getOutputDeviceToQueriedDevicesMap().values());
     } else {
       for (Expression expression : analysis.getSourceExpressions()) {
         
deviceSet.add(ExpressionAnalyzer.getDeviceNameInSourceExpression(expression));
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
index b0337db3022..5af4d55b744 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
@@ -160,8 +160,7 @@ public class SourceRewriter extends 
BaseSourceRewriter<DistributionPlanContext>
                     Factory.DEFAULT_FACTORY.create(device), 
context.getPartitionTimeFilter()))
             : new ArrayList<>(
                 analysis.getPartitionInfo(
-                    Factory.DEFAULT_FACTORY.create(
-                        
analysis.getOutputDeviceToQueriedDevicesMap().get(device)),
+                    analysis.getOutputDeviceToQueriedDevicesMap().get(device),
                     context.getPartitionTimeFilter()));
 
     List<PlanNode> singleDeviceViewList = new ArrayList<>();
@@ -206,8 +205,7 @@ public class SourceRewriter extends 
BaseSourceRewriter<DistributionPlanContext>
           analysis.useLogicalView()
               ? new ArrayList<>(
                   analysis.getPartitionInfo(
-                      Factory.DEFAULT_FACTORY.create(
-                          
analysis.getOutputDeviceToQueriedDevicesMap().get(outputDevice)),
+                      
analysis.getOutputDeviceToQueriedDevicesMap().get(outputDevice),
                       context.getPartitionTimeFilter()))
               : new ArrayList<>(
                   analysis.getPartitionInfo(
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/PathUtils.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/PathUtils.java
index 06d66b2d10d..939be284810 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/PathUtils.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/PathUtils.java
@@ -183,9 +183,7 @@ public class PathUtils {
   }
 
   public static boolean isStartWith(IDeviceID deviceID, String storageGroup) {
-    // TODO: use correct judgement without converting to string
-    String deviceName = deviceID.toString();
-    return deviceName.equals(storageGroup) || 
deviceName.startsWith(storageGroup + ".");
+    return deviceID.startWith(storageGroup + ".");
   }
 
   /** Remove the back quotes of a measurement if necessary */

Reply via email to