You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2022/11/21 12:52:15 UTC

[iotdb] branch ml/windowSet updated: fix header order

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

hui pushed a commit to branch ml/windowSet
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/ml/windowSet by this push:
     new f29bba7ad2 fix header order
f29bba7ad2 is described below

commit f29bba7ad2f106593a6e01a3603d52275c2408af
Author: liuminghui233 <54...@qq.com>
AuthorDate: Mon Nov 21 20:51:54 2022 +0800

    fix header order
---
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java    | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
index 7056f05f4d..f83eb2ac8b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
@@ -1231,7 +1231,8 @@ public class AnalyzeVisitor extends StatementVisitor<Analysis, MPPQueryContext>
 
     // concat path and construct path pattern tree
     PathPatternTree patternTree = new PathPatternTree();
-    for (PartialPath path : fetchWindowBatchStatement.getQueryPaths()) {
+    List<PartialPath> queryPaths = fetchWindowBatchStatement.getQueryPaths();
+    for (PartialPath path : queryPaths) {
       patternTree.appendFullPath(path);
     }
 
@@ -1244,9 +1245,16 @@ public class AnalyzeVisitor extends StatementVisitor<Analysis, MPPQueryContext>
 
     // set source
     List<MeasurementPath> measurementPaths = schemaTree.getAllMeasurement();
+    Map<String, MeasurementPath> pathNameToMeasurementPath = new HashMap<>();
+    for (MeasurementPath measurementPath : measurementPaths) {
+      pathNameToMeasurementPath.put(measurementPath.toString(), measurementPath);
+    }
+
     Set<Expression> sourceExpressions =
-        measurementPaths.stream()
-            .map(TimeSeriesOperand::new)
+        queryPaths.stream()
+            .map(
+                partialPath ->
+                    new TimeSeriesOperand(pathNameToMeasurementPath.get(partialPath.toString())))
             .collect(Collectors.toCollection(LinkedHashSet::new));
     for (Expression sourceExpression : sourceExpressions) {
       analyzeExpression(analysis, sourceExpression);
@@ -1281,10 +1289,10 @@ public class AnalyzeVisitor extends StatementVisitor<Analysis, MPPQueryContext>
     } else {
       // set output
       List<ColumnHeader> columnHeaders =
-          measurementPaths.stream()
+          sourceExpressions.stream()
               .map(
-                  measurementPath ->
-                      new ColumnHeader(measurementPath.toString(), measurementPath.getSeriesType()))
+                  expression ->
+                      new ColumnHeader(expression.toString(), analysis.getType(expression)))
               .collect(Collectors.toList());
       analysis.setRespDatasetHeader(new DatasetHeader(columnHeaders, false));
     }