[
https://issues.apache.org/jira/browse/HIVE-5825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xuefu Zhang updated HIVE-5825:
------------------------------
Resolution: Fixed
Fix Version/s: 0.13.0
Status: Resolved (was: Patch Available)
Patch committed to trunk. Thank Jason for the contribution.
> Case statement type checking too restrictive for parameterized types
> --------------------------------------------------------------------
>
> Key: HIVE-5825
> URL: https://issues.apache.org/jira/browse/HIVE-5825
> Project: Hive
> Issue Type: Bug
> Components: UDF
> Reporter: Jason Dere
> Assignee: Jason Dere
> Fix For: 0.13.0
>
> Attachments: HIVE-5825.1.patch
>
>
> explain select
> case when (key = '0') then 123.456BD else 0.0BD end
> from src limit 2
> FAILED: SemanticException [Error 10016]: Line 3:44 Argument type mismatch
> '0.0BD': The expression after ELSE should have the same type as those after
> THEN: "decimal(6,3)" is expected but "decimal(1,0)" is found
> The return type checking is too strict and won't allow different decimal
> types to be returned if they are not the exact same type (precision/scale).
> There are similar issues with char/varchar length, but even in the general
> case it seems odd that you wouldn't be able to specify 1 and 0.0 in the same
> case statement.
> I would propose setting returnOIResolver so that it is able to convert the
> return values to common type.
--
This message was sent by Atlassian JIRA
(v6.1#6144)