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");
     }
   }

Reply via email to