You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ya...@apache.org on 2022/09/30 07:39:45 UTC

[incubator-kyuubi] branch master updated: [KYUUBI #3568] [Bug] [Doris Engine] Fix return decimal, date, timestamp using string

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

yao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 5ec0c86b3 [KYUUBI #3568] [Bug] [Doris Engine] Fix return decimal, date, timestamp using string
5ec0c86b3 is described below

commit 5ec0c86b3926efbb54b1423e291ae175d81361f3
Author: Min Zhao <zh...@163.com>
AuthorDate: Fri Sep 30 15:39:36 2022 +0800

    [KYUUBI #3568] [Bug] [Doris Engine] Fix return decimal, date, timestamp using string
    
    ### _Why are the changes needed?_
    
    close https://github.com/apache/incubator-kyuubi/issues/3568#issue-1388744898
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [ ] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request
    
    Closes #3569 from zhaomin1423/fix_doris_type.
    
    Closes #3568
    
    f83cc481 [Min Zhao] fix style
    d0447473 [Min Zhao] [KYUUBI #3568] [Bug] [Doris Engine] Fix return decimal, date, timestamp using string
    
    Authored-by: Min Zhao <zh...@163.com>
    Signed-off-by: Kent Yao <ya...@apache.org>
---
 .../org/apache/kyuubi/engine/jdbc/doris/DorisSchemaHelper.scala   | 6 +++---
 .../org/apache/kyuubi/engine/jdbc/doris/StatementSuite.scala      | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisSchemaHelper.scala b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisSchemaHelper.scala
index 02e2f38f0..ca8bb6ec3 100644
--- a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisSchemaHelper.scala
+++ b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisSchemaHelper.scala
@@ -44,13 +44,13 @@ class DorisSchemaHelper extends SchemaHelper {
       TTypeId.STRING_TYPE
 
     case Types.DATE =>
-      TTypeId.STRING_TYPE
+      TTypeId.DATE_TYPE
 
     case Types.TIMESTAMP =>
-      TTypeId.STRING_TYPE
+      TTypeId.TIMESTAMP_TYPE
 
     case Types.DECIMAL =>
-      TTypeId.STRING_TYPE
+      TTypeId.DECIMAL_TYPE
 
     // TODO add more type support
     case _ =>
diff --git a/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/doris/StatementSuite.scala b/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/doris/StatementSuite.scala
index adb748008..663c0da3a 100644
--- a/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/doris/StatementSuite.scala
+++ b/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/doris/StatementSuite.scala
@@ -16,6 +16,8 @@
  */
 package org.apache.kyuubi.engine.jdbc.doris
 
+import java.sql.{Date, Timestamp}
+
 import org.apache.kyuubi.operation.HiveJDBCTestHelper
 
 class StatementSuite extends WithDorisEngine with HiveJDBCTestHelper {
@@ -77,9 +79,9 @@ class StatementSuite extends WithDorisEngine with HiveJDBCTestHelper {
         assert(resultSet1.getObject(4) == 4)
         assert(resultSet1.getObject(5) == 5)
         assert(resultSet1.getObject(6) == "6")
-        assert(resultSet1.getObject(7) == "7.7")
-        assert(resultSet1.getObject(8) == "2022-05-08")
-        assert(resultSet1.getObject(9) == "2022-05-08 17:47:45")
+        assert(resultSet1.getObject(7) == new java.math.BigDecimal("7.7"))
+        assert(resultSet1.getObject(8) == Date.valueOf("2022-05-08"))
+        assert(resultSet1.getObject(9) == Timestamp.valueOf("2022-05-08 17:47:45"))
         assert(resultSet1.getObject(10) == "a")
         assert(resultSet1.getObject(11) == "Hello")
         assert(resultSet1.getObject(12) == "Hello, Kyuubi")