[
https://issues.apache.org/jira/browse/SPARK-28620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yuming Wang updated SPARK-28620:
--------------------------------
Description:
{code:sql}
test("SPARK-28620") {
withJdbcStatement {
statement =>
val rs = statement.executeQuery(
"SELECT CAST('1.2345678901234e+20' AS FLOAT), CAST('4.56' AS FLOAT)")
rs.next()
assert(rs.getObject(1).isInstanceOf[java.lang.Double])
assert(rs.getObject(2).isInstanceOf[java.lang.Double])
}
}
{code}
This inconsistent with spark-shell and spark-sql:
{code:sql}
0: jdbc:hive2://localhost:10000> SELECT CAST('1.2345678901234e+20' AS FLOAT),
CAST('4.56' AS FLOAT);
+-------------------------------------+----------------------+
| CAST(1.2345678901234e+20 AS FLOAT) | CAST(4.56 AS FLOAT) |
+-------------------------------------+----------------------+
| 1.2345679000000001E20 | 4.56 |
+-------------------------------------+----------------------+
1 row selected (0.268 seconds)
{code}
{code:sql}
spark-sql> SELECT CAST('1.2345678901234e+20' AS FLOAT), CAST('4.56' AS FLOAT);
1.2345679E20 4.56
scala> spark.sql("SELECT CAST('1.2345678901234e+20' AS FLOAT), CAST('4.56' AS
FLOAT)").show
+----------------------------------+-------------------+
|CAST(1.2345678901234e+20 AS FLOAT)|CAST(4.56 AS FLOAT)|
+----------------------------------+-------------------+
| 1.2345679E20| 4.56|
+----------------------------------+-------------------+
{code}
was:
{code:sql}
SELECT CAST('1.2345678901234e+20' as float), CAST('4.56' AS FLOAT)
{code}
> Double type returned for float type in Beeline/JDBC
> ---------------------------------------------------
>
> Key: SPARK-28620
> URL: https://issues.apache.org/jira/browse/SPARK-28620
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 3.0.0
> Reporter: Yuming Wang
> Priority: Major
>
> {code:sql}
> test("SPARK-28620") {
> withJdbcStatement {
> statement =>
> val rs = statement.executeQuery(
> "SELECT CAST('1.2345678901234e+20' AS FLOAT), CAST('4.56' AS
> FLOAT)")
> rs.next()
> assert(rs.getObject(1).isInstanceOf[java.lang.Double])
> assert(rs.getObject(2).isInstanceOf[java.lang.Double])
> }
> }
> {code}
> This inconsistent with spark-shell and spark-sql:
> {code:sql}
> 0: jdbc:hive2://localhost:10000> SELECT CAST('1.2345678901234e+20' AS FLOAT),
> CAST('4.56' AS FLOAT);
> +-------------------------------------+----------------------+
> | CAST(1.2345678901234e+20 AS FLOAT) | CAST(4.56 AS FLOAT) |
> +-------------------------------------+----------------------+
> | 1.2345679000000001E20 | 4.56 |
> +-------------------------------------+----------------------+
> 1 row selected (0.268 seconds)
> {code}
> {code:sql}
> spark-sql> SELECT CAST('1.2345678901234e+20' AS FLOAT), CAST('4.56' AS FLOAT);
> 1.2345679E20 4.56
> scala> spark.sql("SELECT CAST('1.2345678901234e+20' AS FLOAT), CAST('4.56' AS
> FLOAT)").show
> +----------------------------------+-------------------+
> |CAST(1.2345678901234e+20 AS FLOAT)|CAST(4.56 AS FLOAT)|
> +----------------------------------+-------------------+
> | 1.2345679E20| 4.56|
> +----------------------------------+-------------------+
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]