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

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


The following commit(s) were added to refs/heads/ty/ChangeTsFileVersion by this 
push:
     new 0cc8179d48f Fix IoTDBAlignByDeviceWithTemplateAggregationIT bug in 1C1D
0cc8179d48f is described below

commit 0cc8179d48f6f39255555781188c9d889d92dd19
Author: JackieTien97 <[email protected]>
AuthorDate: Wed Aug 7 11:06:14 2024 +0800

    Fix IoTDBAlignByDeviceWithTemplateAggregationIT bug in 1C1D
---
 .../java/org/apache/iotdb/confignode/manager/ConfigManager.java   | 2 +-
 .../iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java | 2 +-
 .../db/queryengine/plan/expression/leaf/TimeSeriesOperand.java    | 8 +++++++-
 .../iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java     | 2 +-
 .../db/queryengine/plan/statement/component/HavingCondition.java  | 8 +-------
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index 086e61cee6a..f56f4f6f631 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -696,7 +696,7 @@ public class ConfigManager implements IManager {
         Arrays.copyOf(innerPathList.get(0).getNodes(), 
innerPathList.get(0).getNodeLength() - 1);
     // root.sg1.*.d1
     for (String node : devicePath) {
-      if (node.equals(IoTDBConstant.ONE_LEVEL_PATH_WILDCARD)) {
+      if (node.contains(IoTDBConstant.ONE_LEVEL_PATH_WILDCARD)) {
         return Collections.emptyList();
       }
     }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
index a470e11ee61..41f793d3362 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
@@ -406,7 +406,7 @@ public class ExpressionTypeAnalyzer {
         }
       }
 
-      return setExpressionType(timeSeriesOperand, timeSeriesOperand.getType());
+      return setExpressionType(timeSeriesOperand, 
timeSeriesOperand.getOperandType());
     }
 
     @Override
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java
index 96e7b9db097..7aa8a289762 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java
@@ -68,10 +68,16 @@ public class TimeSeriesOperand extends LeafOperand {
     return path;
   }
 
-  public TSDataType getType() {
+  // get TSDataType of this TimeSeriesOperand returning, it will never return 
null
+  public TSDataType getOperandType() {
     return type != null ? type : path.getSeriesType();
   }
 
+  // get the type field of this TimeSeriesOperand, it may return null
+  public TSDataType getType() {
+    return type;
+  }
+
   @Override
   public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
     return visitor.visitTimeSeriesOperand(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
index 7064441962f..04b741e4baf 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
@@ -466,7 +466,7 @@ public class LogicalPlanBuilder {
               String.format("%s(%s)", partialAggregationName, 
path.getFullPath()),
               SchemaUtils.getSeriesTypeByPath(
                   ((TimeSeriesOperand) 
aggregationDescriptor.getOutputExpressions().get(0))
-                      .getType(),
+                      .getOperandType(),
                   partialAggregationName));
         }
       }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
index 655b4cdd6a8..34d7d272c63 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
@@ -26,9 +26,7 @@ import 
org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
 /** This class maintains information of {@code HAVING} clause. */
 public class HavingCondition extends StatementNode {
 
-  private Expression predicate;
-
-  public HavingCondition() {}
+  private final Expression predicate;
 
   public HavingCondition(Expression predicate) {
     // cast functionName to lowercase in havingExpression
@@ -39,10 +37,6 @@ public class HavingCondition extends StatementNode {
     return predicate;
   }
 
-  public void setPredicate(Expression predicate) {
-    this.predicate = ExpressionAnalyzer.toLowerCaseExpression(predicate);
-  }
-
   public String toSQLString() {
     return "HAVING " + predicate.getExpressionString();
   }

Reply via email to