This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch rel/1.1
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/1.1 by this push:
new 88fc2cb70d [IOTDB-5756] NPE when where predicate is NotEqualExpression
and one of subExpression is not exist
88fc2cb70d is described below
commit 88fc2cb70d7c9f074f07a8e858ee62faa85c0296
Author: Weihao Li <[email protected]>
AuthorDate: Fri Apr 7 08:57:26 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");
}
}