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

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

commit 2920ccb717322dab15f61a14f86c2d41efac35bd
Author: Minghui Liu <[email protected]>
AuthorDate: Mon Sep 26 16:31:18 2022 +0800

    refactor Analysis
---
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java | 93 +++-------------------
 1 file changed, 12 insertions(+), 81 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
index 8955849d96..e393044b6c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
@@ -78,51 +78,37 @@ public class Analysis {
   // input expressions of aggregations to be calculated
   private Set<Expression> sourceTransformExpressions;
 
+  private Expression whereExpression;
+
   // all aggregations that need to be calculated
   private Set<Expression> aggregationExpressions;
 
-  // expression of output column to be calculated
-  private Set<Expression> selectExpressions;
-
-  private Expression whereExpression;
-
   // map from grouped path name to list of input aggregation in `GROUP BY 
LEVEL` clause
   private Map<Expression, Set<Expression>> groupByLevelExpressions;
 
-  // map from raw path to grouped path in `GROUP BY LEVEL` clause
-  private Map<Expression, Expression> rawPathToGroupedPathMap;
-
-  private boolean isRawDataSource;
-
   
/////////////////////////////////////////////////////////////////////////////////////////////////
   // Query Analysis (used in ALIGN BY DEVICE)
   
/////////////////////////////////////////////////////////////////////////////////////////////////
 
-  // used to planTransform after planDeviceView
-  Set<Expression> transformInput;
-  Set<Expression> transformOutput;
-
   // map from device name to series/aggregation under this device
   private Map<String, Set<Expression>> deviceToSourceExpressions;
 
   // input expressions of aggregations to be calculated
   private Map<String, Set<Expression>> deviceToSourceTransformExpressions;
 
+  // map from device name to query filter under this device
+  private Map<String, Expression> deviceToWhereExpression;
+
   // all aggregations that need to be calculated
   private Map<String, Set<Expression>> deviceToAggregationExpressions;
 
   // expression of output column to be calculated
   private Map<String, Set<Expression>> deviceToSelectExpressions;
 
-  // map from device name to query filter under this device
-  private Map<String, Expression> deviceToWhereExpression;
-
   // e.g. [s1,s2,s3] is query, but [s1, s3] exists in device1, then device1 -> 
[1, 3], s1 is 1 but
   // not 0 because device is the first column
   private Map<String, List<Integer>> deviceToMeasurementIndexesMap;
 
-  private Map<String, Boolean> deviceToIsRawDataSource;
-
   private Set<Expression> deviceViewOutputExpressions;
 
   
/////////////////////////////////////////////////////////////////////////////////////////////////
@@ -132,25 +118,25 @@ public class Analysis {
   // indicate is there a value filter
   private boolean hasValueFilter = false;
 
-  private Expression havingExpression;
-
-  // true if nested expressions and UDFs exist in aggregation function
-  private boolean isHasRawDataInputAggregation;
-
   // a global time filter used in `initQueryDataSource` and filter push down
   private Filter globalTimeFilter;
 
+  // expression of output column to be calculated
+  private Set<Expression> selectExpressions;
+
+  private Expression havingExpression;
+
   // parameter of `FILL` clause
   private FillDescriptor fillDescriptor;
 
   // parameter of `GROUP BY TIME` clause
   private GroupByTimeParameter groupByTimeParameter;
 
+  private OrderByParameter mergeOrderParameter;
+
   // header of result dataset
   private DatasetHeader respDatasetHeader;
 
-  private OrderByParameter mergeOrderParameter;
-
   
/////////////////////////////////////////////////////////////////////////////////////////////////
   // Schema Query Analysis
   
/////////////////////////////////////////////////////////////////////////////////////////////////
@@ -236,14 +222,6 @@ public class Analysis {
         || (schemaPartition != null && !schemaPartition.isEmpty());
   }
 
-  public boolean isHasRawDataInputAggregation() {
-    return isHasRawDataInputAggregation;
-  }
-
-  public void setHasRawDataInputAggregation(boolean 
hasRawDataInputAggregation) {
-    isHasRawDataInputAggregation = hasRawDataInputAggregation;
-  }
-
   public Map<Expression, Set<Expression>> getGroupByLevelExpressions() {
     return groupByLevelExpressions;
   }
@@ -252,21 +230,6 @@ public class Analysis {
     this.groupByLevelExpressions = groupByLevelExpressions;
   }
 
-  public void setRawPathToGroupedPathMap(Map<Expression, Expression> 
rawPathToGroupedPathMap) {
-    this.rawPathToGroupedPathMap = rawPathToGroupedPathMap;
-  }
-
-  public Expression getGroupedExpressionByLevel(Expression expression) {
-    if (rawPathToGroupedPathMap.containsKey(expression)) {
-      return rawPathToGroupedPathMap.get(expression);
-    }
-    if (rawPathToGroupedPathMap.containsValue(expression)) {
-      return expression;
-    }
-    throw new IllegalArgumentException(
-        String.format("GROUP BY LEVEL: Unknown input expression '%s'", 
expression));
-  }
-
   public FillDescriptor getFillDescriptor() {
     return fillDescriptor;
   }
@@ -364,22 +327,6 @@ public class Analysis {
     this.selectExpressions = selectExpressions;
   }
 
-  public Set<Expression> getTransformInput() {
-    return transformInput;
-  }
-
-  public void setTransformInput(Set<Expression> transformInput) {
-    this.transformInput = transformInput;
-  }
-
-  public Set<Expression> getTransformOutput() {
-    return transformOutput;
-  }
-
-  public void setTransformOutput(Set<Expression> transformOutput) {
-    this.transformOutput = transformOutput;
-  }
-
   public Map<String, Set<Expression>> getDeviceToSourceExpressions() {
     return deviceToSourceExpressions;
   }
@@ -414,22 +361,6 @@ public class Analysis {
     this.deviceToSelectExpressions = deviceToSelectExpressions;
   }
 
-  public boolean isRawDataSource() {
-    return isRawDataSource;
-  }
-
-  public void setRawDataSource(boolean rawDataSource) {
-    isRawDataSource = rawDataSource;
-  }
-
-  public Map<String, Boolean> getDeviceToIsRawDataSource() {
-    return deviceToIsRawDataSource;
-  }
-
-  public void setDeviceToIsRawDataSource(Map<String, Boolean> 
deviceToIsRawDataSource) {
-    this.deviceToIsRawDataSource = deviceToIsRawDataSource;
-  }
-
   public Set<TSchemaNode> getMatchedNodes() {
     return matchedNodes;
   }

Reply via email to