[ 
https://issues.apache.org/jira/browse/SPARK-16646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15389273#comment-15389273
 ] 

Hyukjin Kwon commented on SPARK-16646:
--------------------------------------

It seems basically comparison between numbers and decimal, and decimals with 
different precision and scale were not allowed but from 2.0, this restriction 
was relexted.

here, https://issues.apache.org/jira/browse/HIVE-12070 and 
https://issues.apache.org/jira/browse/HIVE-12082

So, now Hive in current master produces as below:

{code}
hive> SELECT LEAST(2, 1.5BD);
OK
1.5
{code}

However, when the precision is too high, it became as below:

{code}
hive> SELECT LEAST(100000000000000000, 1.000000000000000000005BD);
OK
1
{code}

This seems goes double,

{code}
hive> SELECT LEAST(12, 1.00000000000000000000000000005BD);
OK
1.0000000000000000000000000001
{code}

https://github.com/apache/hive/blob/26b5c7b56a4f28ce3eabc0207566cce46b29b558/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFBaseNwayCompare.java#L71-L73

> LEAST doesn't accept numeric arguments with different data types
> ----------------------------------------------------------------
>
>                 Key: SPARK-16646
>                 URL: https://issues.apache.org/jira/browse/SPARK-16646
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.0.0
>            Reporter: Cheng Lian
>            Assignee: Hyukjin Kwon
>
> {code:sql}
> SELECT LEAST(1, 1.5);
> {code}
> {noformat}
> Error: org.apache.spark.sql.AnalysisException: cannot resolve 'least(1, 
> CAST(2.1 AS DECIMAL(2,1)))' due to data type mismatch: The expressions should 
> all have the same type, got LEAST (ArrayBuffer(IntegerType, 
> DecimalType(2,1))).; line 1 pos 7 (state=,code=0)
> {noformat}
> This query works for 1.6.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to