You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2023/04/06 08:21:00 UTC
[iotdb] branch master updated: [IOTDB-5756] NPE when where predicate is NotEqualExpression and one of subExpression is not exist
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 7787399aa2 [IOTDB-5756] NPE when where predicate is NotEqualExpression and one of subExpression is not exist
7787399aa2 is described below
commit 7787399aa27a06fafbf2aab454869e9515921c34
Author: Weihao Li <60...@users.noreply.github.com>
AuthorDate: Thu Apr 6 16:20:53 2023 +0800
[IOTDB-5756] NPE when where predicate is NotEqualExpression and one of subExpression is not exist
---
.../test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java | 3 +++
.../dag/column/binary/CompareNonEqualColumnTransformer.java | 2 +-
.../dag/column/binary/LogicBinaryColumnTransformer.java | 4 ++--
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
index 8889c9c702..375289953c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
@@ -254,6 +254,9 @@ public class IoTDBNullOperandIT {
retArray = new String[] {};
resultSetEqualTest("select s1, s3, s4 from root.** where notExist>0", expectedHeader, retArray);
+ resultSetEqualTest("select s1, s3, s4 from root.** where notExist=0", expectedHeader, retArray);
+ resultSetEqualTest(
+ "select s1, s3, s4 from root.** where notExist!=0", expectedHeader, retArray);
resultSetEqualTest(
"select s1, s3, s4 from root.** where diff(notExist)>0", expectedHeader, retArray);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
index 4c58760bce..987fa47c59 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
@@ -30,7 +30,7 @@ public class CompareNonEqualColumnTransformer extends CompareBinaryColumnTransfo
@Override
protected final void checkType() {
- if (leftTransformer.getType().getTypeEnum().equals(rightTransformer.getType().getTypeEnum())) {
+ if (typeEquals(leftTransformer, rightTransformer)) {
return;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/LogicBinaryColumnTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
index 42c5d0d200..931570fad1 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
@@ -31,8 +31,8 @@ public abstract class LogicBinaryColumnTransformer extends BinaryColumnTransform
@Override
protected void checkType() {
- if (!leftTransformer.getType().getTypeEnum().equals(TypeEnum.BOOLEAN)
- || !rightTransformer.getType().getTypeEnum().equals(TypeEnum.BOOLEAN)) {
+ if (!leftTransformer.typeEquals(TypeEnum.BOOLEAN)
+ || !rightTransformer.typeEquals(TypeEnum.BOOLEAN)) {
throw new UnsupportedOperationException("Unsupported Type");
}
}