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