This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch fix_having
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/fix_having by this push:
new 29f33e499d3 fix it
29f33e499d3 is described below
commit 29f33e499d381f5220510e33f772f98a30b9b677
Author: Beyyes <[email protected]>
AuthorDate: Sun Oct 27 23:36:38 2024 +0800
fix it
---
.../org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java | 2 +-
.../cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java | 4 ++--
.../planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git
a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
index cc5fdeb5b27..107ee1c137e 100644
---
a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
@@ -669,7 +669,7 @@ public class IoTDBAlignByDeviceIT {
try (ResultSet resultSet =
statement.executeQuery(
"select count(s0),count(s1),count(s2),count(s3),count(s4) "
- + "from root.vehicle.d1,root.vehicle.d0 align by device")) {
+ + "from root.vehicle.d1,root.vehicle.d0 having count(s0) is
not null or count(s5) is not null align by device")) {
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
List<Integer> actualIndexToExpectedIndexList =
checkHeader(
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
index 372c861481a..d5e4d33f087 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
@@ -26,7 +26,6 @@ import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.schematree.ISchemaTree;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
import
org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
@@ -40,6 +39,7 @@ import java.util.List;
import static
org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.cartesianProduct;
import static
org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructFunctionExpressionsWithMemoryCheck;
import static
org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructTimeSeriesOperandsWithMemoryCheck;
+import static
org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand.FALSE;
import static
org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
public class ConcatDeviceAndBindSchemaForPredicateVisitor
@@ -70,7 +70,7 @@ public class ConcatDeviceAndBindSchemaForPredicateVisitor
List<MeasurementPath> actualPaths =
context.getSchemaTree().searchMeasurementPaths(concatPath).left;
if (actualPaths.isEmpty()) {
- return Collections.singletonList(new NullOperand());
+ return Collections.singletonList(FALSE);
}
for (MeasurementPath measurementPath : actualPaths) {
if (measurementPath.getMeasurementSchema().isLogicalView()) {
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
index 41712e261b2..f92a8792be4 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
@@ -701,7 +701,7 @@ public class AlignByDeviceOrderByLimitOffsetTest {
// aggregation + order by time + having, has LIMIT
// SingleDeviceViewNode + MergeSortNode
sql =
- "select count(s1) from root.sg.d1,root.sg.d22,root.sg.d333
having(count(s1) > 1 or count(s_not_exist) > 1) ORDER BY TIME DESC LIMIT 10
align by device";
+ "select count(s1) from root.sg.d1,root.sg.d22,root.sg.d333
having(count(s1) > 1 or count(s_not_exist) is not null) ORDER BY TIME DESC
LIMIT 10 align by device";
analysis = Util.analyze(sql, context);
logicalPlanNode = Util.genLogicalPlan(analysis, context);
planner = new DistributionPlanner(analysis, new LogicalQueryPlan(context,
logicalPlanNode));