This is an automated email from the ASF dual-hosted git repository.

jackietien pushed a commit to branch rc/2.0.4
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 49a8d0d22e5add47d10a9e61f9f728826621c648
Author: FearfulTomcat27 <1471335...@qq.com>
AuthorDate: Fri May 9 18:37:49 2025 +0800

    fix: Boundary checks for maxStandardError in APPROX_COUNT_DISTINCT.
    
    (cherry picked from commit a70416cfdb138fce3a9fcdf870847fea13f106fa)
---
 .../iotdb/relational/it/query/recent/IoTDBTableAggregationIT.java   | 6 ++++++
 .../operator/source/relational/aggregation/HyperLogLog.java         | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBTableAggregationIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBTableAggregationIT.java
index 274868fdfc6..3608cd00f85 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBTableAggregationIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBTableAggregationIT.java
@@ -4157,6 +4157,12 @@ public class IoTDBTableAggregationIT {
         new String[] {"time", "province", "_col2", "_col3"},
         retArray,
         DATABASE_NAME);
+
+    tableResultSetEqualTest(
+        "select 
approx_count_distinct(time,0.0040625),approx_count_distinct(time,0.26) from 
table1",
+        new String[] {"_col0", "_col1"},
+        new String[] {"10,11,"},
+        DATABASE_NAME);
   }
 
   @Test
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/HyperLogLog.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/HyperLogLog.java
index 94836eba861..1dabd5c1ed9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/HyperLogLog.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/HyperLogLog.java
@@ -105,8 +105,8 @@ public class HyperLogLog {
   }
 
   private static int standardErrorToBuckets(double maxStandardError) {
-    if (maxStandardError <= LOWEST_MAX_STANDARD_ERROR
-        || maxStandardError >= HIGHEST_MAX_STANDARD_ERROR) {
+    if (maxStandardError < LOWEST_MAX_STANDARD_ERROR
+        || maxStandardError > HIGHEST_MAX_STANDARD_ERROR) {
       throw new IoTDBRuntimeException(
           String.format(
               "Max Standard Error must be in [%s, %s]: %s",

Reply via email to