You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2022/01/18 09:37:42 UTC

[iotdb] branch iotdb-2434 created (now ba83087)

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

rong pushed a change to branch iotdb-2434
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


      at ba83087  [IOTDB-2434] IT fails on IoTDBContinuousQueryIT caused by double precision loss

This branch includes the following new commits:

     new ba83087  [IOTDB-2434] IT fails on IoTDBContinuousQueryIT caused by double precision loss

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[iotdb] 01/01: [IOTDB-2434] IT fails on IoTDBContinuousQueryIT caused by double precision loss

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-2434
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit ba830876466e8b95bb4c4db95026c83885a1b149
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Tue Jan 18 17:36:49 2022 +0800

    [IOTDB-2434] IT fails on IoTDBContinuousQueryIT caused by double precision loss
---
 .../db/integration/IoTDBContinuousQueryIT.java      | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBContinuousQueryIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBContinuousQueryIT.java
index 9dcc99e..ee11e89 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBContinuousQueryIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBContinuousQueryIT.java
@@ -404,7 +404,7 @@ public class IoTDBContinuousQueryIT {
     }
 
     long waitMillSeconds = 0;
-    List<Pair<Long, String>> actualResult;
+    List<Pair<Long, Double>> actualResult;
     do {
       Thread.sleep(waitMillSeconds);
       waitMillSeconds += 100;
@@ -419,18 +419,25 @@ public class IoTDBContinuousQueryIT {
         String.format(
             "select avg(temperature) from root.ln.wf01.*.* GROUP BY ([%d, %d), %dms), level=1,2 without null all",
             actualWindowBegin, actualWindowEnd + groupByInterval, groupByInterval));
-    List<Pair<Long, String>> expectedResult = collectQueryResult();
-
-    assertEquals(expectedResult, actualResult);
+    List<Pair<Long, Double>> expectedResult = collectQueryResult();
+
+    assertEquals(expectedResult.size(), actualResult.size());
+    final int size = expectedResult.size();
+    for (int i = 0; i < size; ++i) {
+      Pair<Long, Double> expected = expectedResult.get(i);
+      Pair<Long, Double> actual = actualResult.get(i);
+      assertEquals(expected.left, actual.left);
+      assertEquals(expected.right, actual.right, 10e-6);
+    }
   }
 
-  private List<Pair<Long, String>> collectQueryResult() {
-    List<Pair<Long, String>> result = new ArrayList<>();
+  private List<Pair<Long, Double>> collectQueryResult() {
+    List<Pair<Long, Double>> result = new ArrayList<>();
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
         String timestamp = resultSet.getString(1);
         String value = resultSet.getString(2);
-        result.add(new Pair<>(Long.parseLong(timestamp), value));
+        result.add(new Pair<>(Long.parseLong(timestamp), Double.parseDouble(value)));
       }
     } catch (SQLException throwable) {
       fail(throwable.getMessage());