You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/02/19 11:04:01 UTC
[shardingsphere] branch master updated: For 15487, improve conversion for different number type. (#15515)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 4e190b4 For 15487, improve conversion for different number type. (#15515)
4e190b4 is described below
commit 4e190b4b8965f2063cd917a41b4e039dd686a0d5
Author: Raigor <ra...@gmail.com>
AuthorDate: Sat Feb 19 19:03:08 2022 +0800
For 15487, improve conversion for different number type. (#15515)
---
.../driver/jdbc/core/resultset/ResultSetUtil.java | 12 ++++++++++++
.../driver/jdbc/core/resultset/ResultSetUtilTest.java | 5 +++++
2 files changed, 17 insertions(+)
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java
index 9d507d5..007f7a5 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java
@@ -192,6 +192,18 @@ public final class ResultSetUtil {
return number.floatValue();
case "java.math.BigDecimal":
return new BigDecimal(number.toString());
+ case "java.lang.Byte":
+ return Byte.valueOf(number.byteValue());
+ case "java.lang.Short":
+ return Short.valueOf(number.shortValue());
+ case "java.lang.Integer":
+ return Integer.valueOf(number.intValue());
+ case "java.lang.Long":
+ return Long.valueOf(number.longValue());
+ case "java.lang.Double":
+ return Double.valueOf(number.doubleValue());
+ case "java.lang.Float":
+ return Float.valueOf(number.floatValue());
case "java.lang.Object":
return value;
case "java.lang.String":
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java
index d76d418..c04e36f 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java
@@ -89,6 +89,11 @@ public final class ResultSetUtilTest {
assertThat(ResultSetUtil.convertValue(new Date(0L), Date.class), is(new Date(0L)));
assertThat(ResultSetUtil.convertValue((short) 1, Object.class), is(Short.valueOf("1")));
assertThat(ResultSetUtil.convertValue((short) 1, String.class), is("1"));
+ assertThat(ResultSetUtil.convertValue(1, Byte.class), is(Byte.valueOf("1")));
+ assertThat(ResultSetUtil.convertValue(1, Short.class), is(Short.valueOf("1")));
+ assertThat(ResultSetUtil.convertValue(1, Long.class), is(Long.valueOf("1")));
+ assertThat(ResultSetUtil.convertValue(1, Double.class), is(Double.valueOf("1")));
+ assertThat(ResultSetUtil.convertValue(1, Float.class), is(Float.valueOf("1")));
}
@Test(expected = ShardingSphereException.class)