[
https://issues.apache.org/jira/browse/SPARK-44943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gera Shegalov updated SPARK-44943:
----------------------------------
Description:
Signed conversion does not detect overflow
{code:java}
>>> spark.conf.set('spark.sql.ansi.enabled', True)
>>> sql("SELECT conv('-9223372036854775809', 10, -10)").show(truncate=False)
+-----------------------------------+
|conv(-9223372036854775809, 10, -10)|
+-----------------------------------+
|-9223372036854775807 |
+-----------------------------------+
{code}
Unsigned conversion produces -1 but does not throw in the ANSI mode
{code}
>>> sql("SELECT conv('-9223372036854775809', 10, 10)").show(truncate=False)
+----------------------------------+
|conv(-9223372036854775809, 10, 10)|
+----------------------------------+
|18446744073709551615 |
+----------------------------------+
{code}
was:
{{>>> spark.conf.set('spark.sql.ansi.enabled', True)}}
{{>>> sql("SELECT conv('-9223372036854775809', 10, -10)").show(truncate=False)}}
{{+-----------------------------------+}}
{{|conv(-9223372036854775809, 10, -10)|}}
{{+-----------------------------------+}}
{{|-9223372036854775807 |}}
{{+-----------------------------------+}}
> CONV produces incorrect result near Long.MIN_VALUE, fails to detect overflow
> ----------------------------------------------------------------------------
>
> Key: SPARK-44943
> URL: https://issues.apache.org/jira/browse/SPARK-44943
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 3.4.1, 3.5.0, 4.0.0
> Reporter: Gera Shegalov
> Priority: Major
>
> Signed conversion does not detect overflow
> {code:java}
> >>> spark.conf.set('spark.sql.ansi.enabled', True)
> >>> sql("SELECT conv('-9223372036854775809', 10, -10)").show(truncate=False)
> +-----------------------------------+
> |conv(-9223372036854775809, 10, -10)|
> +-----------------------------------+
> |-9223372036854775807 |
> +-----------------------------------+
> {code}
> Unsigned conversion produces -1 but does not throw in the ANSI mode
> {code}
> >>> sql("SELECT conv('-9223372036854775809', 10, 10)").show(truncate=False)
> +----------------------------------+
> |conv(-9223372036854775809, 10, 10)|
> +----------------------------------+
> |18446744073709551615 |
> +----------------------------------+
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]