Marco Gaido created SPARK-25454:
-----------------------------------
Summary: Division between operands with negative scale can cause
precision loss
Key: SPARK-25454
URL: https://issues.apache.org/jira/browse/SPARK-25454
Project: Spark
Issue Type: Bug
Components: SQL
Affects Versions: 2.3.1, 2.3.0
Reporter: Marco Gaido
The issue was originally reported by [~bersprockets] here:
https://issues.apache.org/jira/browse/SPARK-22036?focusedCommentId=16618104&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16618104.
The problem consist in a precision loss when the second operand of the division
is a decimal with a negative scale. It was present also before 2.3 but it was
harder to reproduce: you had to do something like {{lit(BigDecimal(100e6))}},
while now this can happen more frequently with SQL constants.
The problem is that our logic is taken from Hive and SQLServer where decimals
with negative scales are not allowed. We might also consider enforcing this too
in 3.0 eventually. Meanwhile we can fix the logic for computing the result type
for a division.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]