You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/11/02 23:56:25 UTC
[iotdb] branch rel/0.13 updated: [To rel/0.13] Fix String number infer bug (#7886)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/0.13 by this push:
new 6038a25312 [To rel/0.13] Fix String number infer bug (#7886)
6038a25312 is described below
commit 6038a25312098d98255822cc12d62a9ead80906f
Author: Haonan <hh...@outlook.com>
AuthorDate: Thu Nov 3 07:56:18 2022 +0800
[To rel/0.13] Fix String number infer bug (#7886)
---
.../src/main/java/org/apache/iotdb/db/utils/TypeInferenceUtils.java | 6 +++++-
.../test/java/org/apache/iotdb/db/utils/TypeInferenceUtilsTest.java | 6 ++++--
2 files changed, 9 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 ecd646ca6e..c64b43a139 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
@@ -63,7 +63,11 @@ public class TypeInferenceUtils {
}
private static boolean isConvertFloatPrecisionLack(String s) {
- return Long.parseLong(s) > (2 << 24);
+ try {
+ return Long.parseLong(s) > (2 << 24);
+ } catch (NumberFormatException e) {
+ return true;
+ }
}
/** 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..483cf78dd3 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,8 @@ public class TypeInferenceUtilsTest {
"9999999999999999",
"true",
"77123 ",
- " 7112324 "
+ " 7112324 ",
+ "271840880000000000000000"
};
TSDataType[] encodings = {
IoTDBDescriptor.getInstance().getConfig().getIntegerStringInferType(),
@@ -85,7 +86,8 @@ 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()
};
for (int i = 0; i < values.length; i++) {