yaooqinn commented on a change in pull request #29746:
URL: https://github.com/apache/spark/pull/29746#discussion_r487712955



##########
File path: 
sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala
##########
@@ -148,49 +148,88 @@ class SparkThriftServerProtocolVersionsSuite extends 
HiveThriftJdbcTest {
       testExecuteStatementWithProtocolVersion(version, "SELECT cast(1 as 
byte)") { rs =>
         assert(rs.next())
         assert(rs.getByte(1) === 1.toByte)
+        val metaData = rs.getMetaData
+        assert(metaData.getColumnName(1) === "CAST(1 AS TINYINT)")
+        assert(metaData.getColumnType(1) === java.sql.Types.TINYINT)
+        assert(metaData.getPrecision(1) === 3)
+        assert(metaData.getScale(1) === 0)
       }
     }
 
     test(s"$version get short type") {
       testExecuteStatementWithProtocolVersion(version, "SELECT cast(1 as 
short)") { rs =>
         assert(rs.next())
         assert(rs.getShort(1) === 1.toShort)
+        val metaData = rs.getMetaData
+        assert(metaData.getColumnName(1) === "CAST(1 AS SMALLINT)")
+        assert(metaData.getColumnType(1) === java.sql.Types.SMALLINT)
+        assert(metaData.getPrecision(1) === 5)
+        assert(metaData.getScale(1) === 0)
       }
     }
 
     test(s"$version get int type") {
       testExecuteStatementWithProtocolVersion(version, "SELECT 1") { rs =>
         assert(rs.next())
         assert(rs.getInt(1) === 1)
+        val metaData = rs.getMetaData
+        assert(metaData.getColumnName(1) === "1")
+        assert(metaData.getColumnType(1) === java.sql.Types.INTEGER)
+        assert(metaData.getPrecision(1) === 10)
+        assert(metaData.getScale(1) === 0)
       }
     }
 
     test(s"$version get bigint type") {
       testExecuteStatementWithProtocolVersion(version, "SELECT cast(1 as 
bigint)") { rs =>
         assert(rs.next())
         assert(rs.getLong(1) === 1L)
+        val metaData = rs.getMetaData
+        assert(metaData.getColumnName(1) === "CAST(1 AS BIGINT)")
+        assert(metaData.getColumnType(1) === java.sql.Types.BIGINT)
+        assert(metaData.getPrecision(1) === 19)
+        assert(metaData.getScale(1) === 0)
       }
     }
 
     test(s"$version get float type") {
       testExecuteStatementWithProtocolVersion(version, "SELECT cast(1.2 as 
float)") { rs =>
         assert(rs.next())
         assert(rs.getFloat(1) === 1.2F)
+        val metaData = rs.getMetaData
+        assert(metaData.getColumnName(1) === "CAST(1.2 AS FLOAT)")
+        assert(metaData.getColumnType(1) === java.sql.Types.FLOAT)
+        assert(metaData.getPrecision(1) === 7)
+        assert(metaData.getScale(1) === 7)
       }
     }
 
     test(s"$version get double type") {
       testExecuteStatementWithProtocolVersion(version, "SELECT cast(1.2 as 
double)") { rs =>
         assert(rs.next())
         assert(rs.getDouble(1) === 1.2D)
+        val metaData = rs.getMetaData
+        assert(metaData.getColumnName(1) === "CAST(1.2 AS DOUBLE)")
+        assert(metaData.getColumnType(1) === java.sql.Types.DOUBLE)
+        assert(metaData.getPrecision(1) === 15)
+        assert(metaData.getScale(1) === 15)
       }
     }
 
     test(s"$version get decimal type") {
       testExecuteStatementWithProtocolVersion(version,
-        "SELECT cast(1 as decimal(18, 2)) as c") { rs =>
+        "SELECT cast(1 as decimal(9, 1)) as col0, 1234.56BD as col1, 0.123 as 
col2") { rs =>
         assert(rs.next())
-        assert(rs.getBigDecimal(1) === new java.math.BigDecimal("1.00"))
+        assert(rs.getBigDecimal(1) === new java.math.BigDecimal("1.0"))

Review comment:
       It's as same as L224




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to