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 5b2aa974ade Fix Greatest's looping logic bug in Boolean types.
5b2aa974ade is described below

commit 5b2aa974ade7d88e890769f4a03cb88d0f9b3dad
Author: FearfulTomcat27 <[email protected]>
AuthorDate: Mon Apr 14 10:08:13 2025 +0800

    Fix Greatest's looping logic bug in Boolean types.
---
 .../relational/it/query/old/query/IoTDBGreatestLeastTableIT.java    | 6 ++++--
 .../dag/column/multi/BooleanGreatestColumnTransformer.java          | 2 +-
 .../dag/column/multi/BooleanLeastColumnTransformer.java             | 2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBGreatestLeastTableIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBGreatestLeastTableIT.java
index 902ae1db311..32e5067d8c6 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBGreatestLeastTableIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBGreatestLeastTableIT.java
@@ -52,6 +52,8 @@ public class IoTDBGreatestLeastTableIT {
         "INSERT INTO number_table(time, device_id, int1, int2, long1, long2, 
float1, float2, double1, double2) VALUES (10, 'd1', 1000000, 2000000, 1000000, 
2000000, 10.1, 20.2, 10.1, 20.2)",
         "INSERT INTO string_table(time, device_id, string1, string2, text1, 
text2) VALUES(10, 'd1', 'aaa', 'bbb', 'aaa', 'bbb')",
         "INSERT INTO boolean_table(time, device_id, bool1, bool2) VALUES(10, 
'd1', true, false)",
+        "INSERT INTO boolean_table(time, device_id, bool1, bool2) VALUES(20, 
'd1', false, true)",
+        "INSERT INTO boolean_table(time, device_id, bool1, bool2) VALUES(30, 
'd1', true, true)",
         "INSERT INTO mix_type_table(time, device_id, s1, s2, s3, s4, s5, s6, 
s7) VALUES(10, 'd1', 1, 1, 1.0, 1.0, true, 'a', 'a')",
         "INSERT INTO null_table(time, device_id, string1, string2) VALUES(10, 
'd1', null, null)",
         "INSERT INTO any_null_table(time, device_id, string2, int2, double2, 
timestamp2) VALUES(10, 'd1', 'test', 10, 10.0, 10)",
@@ -170,7 +172,7 @@ public class IoTDBGreatestLeastTableIT {
     tableResultSetEqualTest(
         "SELECT GREATEST(bool1, bool2) FROM boolean_table",
         new String[] {"_col0"},
-        new String[] {"true,"},
+        new String[] {"true,", "true,", "true,"},
         DATABASE_NAME);
   }
 
@@ -179,7 +181,7 @@ public class IoTDBGreatestLeastTableIT {
     tableResultSetEqualTest(
         "SELECT LEAST(bool1, bool2) FROM boolean_table",
         new String[] {"_col0"},
-        new String[] {"false,"},
+        new String[] {"false,", "false,", "true,"},
         DATABASE_NAME);
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
index 2bc56e6f5bc..6c283225c74 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
@@ -37,7 +37,7 @@ public class BooleanGreatestColumnTransformer extends 
AbstractGreatestLeastColum
         if (column.getBoolean(index)) {
           // find max value true
           returnType.writeBoolean(builder, true);
-          break;
+          return;
         }
       }
     }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
index 4ea2b717092..1cfbde15758 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
@@ -36,7 +36,7 @@ public class BooleanLeastColumnTransformer extends 
AbstractGreatestLeastColumnTr
         allNull = false;
         if (!column.getBoolean(index)) {
           returnType.writeBoolean(builder, false);
-          break;
+          return;
         }
       }
     }

Reply via email to