You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/09/15 08:24:36 UTC

[iotdb] branch master updated: [IOTDB-4245] Fix wrong integer upper bound about data type inferring of timeseries (#7321)

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 b0129297c5 [IOTDB-4245] Fix wrong integer upper bound about data type inferring of timeseries (#7321)
b0129297c5 is described below

commit b0129297c51e880d0f69bf4255ce9f5e6a050945
Author: Liao Lanyu <14...@qq.com>
AuthorDate: Thu Sep 15 16:24:31 2022 +0800

    [IOTDB-4245] Fix wrong integer upper bound about data type inferring of timeseries (#7321)
---
 .../main/java/org/apache/iotdb/db/utils/TypeInferenceUtils.java   | 2 +-
 .../java/org/apache/iotdb/db/utils/TypeInferenceUtilsTest.java    | 8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/utils/TypeInferenceUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/TypeInferenceUtils.java
index e0b8f0f020..6135b2b31b 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/TypeInferenceUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/TypeInferenceUtils.java
@@ -64,7 +64,7 @@ public class TypeInferenceUtils {
   }
 
   private static boolean isConvertFloatPrecisionLack(String s) {
-    return Long.parseLong(s) > (2 << 24);
+    return Long.parseLong(s) > (1 << 24);
   }
 
   /** Get predicted DataType of the given value */
diff --git a/server/src/test/java/org/apache/iotdb/db/utils/TypeInferenceUtilsTest.java b/server/src/test/java/org/apache/iotdb/db/utils/TypeInferenceUtilsTest.java
index 9267cd9b0e..4b374c87e0 100644
--- a/server/src/test/java/org/apache/iotdb/db/utils/TypeInferenceUtilsTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/utils/TypeInferenceUtilsTest.java
@@ -72,7 +72,9 @@ public class TypeInferenceUtilsTest {
       "9999999999999999",
       "true",
       "77123 ",
-      " 7112324 "
+      " 7112324 ",
+      "16777217", // 2^24 + 1
+      "16777216", // 2^24
     };
     TSDataType[] encodings = {
       IoTDBDescriptor.getInstance().getConfig().getIntegerStringInferType(),
@@ -85,7 +87,9 @@ public class TypeInferenceUtilsTest {
       IoTDBDescriptor.getInstance().getConfig().getLongStringInferType(),
       IoTDBDescriptor.getInstance().getConfig().getBooleanStringInferType(),
       IoTDBDescriptor.getInstance().getConfig().getIntegerStringInferType(),
-      IoTDBDescriptor.getInstance().getConfig().getIntegerStringInferType()
+      IoTDBDescriptor.getInstance().getConfig().getIntegerStringInferType(),
+      IoTDBDescriptor.getInstance().getConfig().getLongStringInferType(),
+      IoTDBDescriptor.getInstance().getConfig().getIntegerStringInferType(),
     };
 
     for (int i = 0; i < values.length; i++) {