[
https://issues.apache.org/jira/browse/HIVE-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652681#action_12652681
]
Zheng Shao commented on HIVE-65:
--------------------------------
Namit's experiment with Oracle shows Oracle outputs ambiguity if UDF has both
evaluate(double, double) and evaluate(string,string), and users calls
udf(double, string).
Let's stick with the following implicit conversion hierarchy and special-case
comparison operators (they will prefer evaluate(double, double) to
evaluate(string,string)):
byte -> short -> int -> long -> float -> double -> string, string -> double
In order to allow the special case, we can add a tag to the methods. If there
are multiple methods with the same number of implicit conversions, then we
choose the one with the maximum tag (if there are still many then we say
ambiguity).
The reason that I think long -> float should be allowed is
http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#25214
This of course also simplify the code since it's a single line instead of a DAG.
> Implict conversion from integer to long broken for Dynamic Serde tables
> -----------------------------------------------------------------------
>
> Key: HIVE-65
> URL: https://issues.apache.org/jira/browse/HIVE-65
> Project: Hadoop Hive
> Issue Type: Bug
> Components: Query Processor
> Reporter: Ashish Thusoo
> Assignee: Zheng Shao
>
> For a dynamic serde table that has a bigint column, implict conversion from
> int to bigint seems to be broken. I have not verified this for other tables.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.