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)