[ https://issues.apache.org/jira/browse/HIVE-3183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13787714#comment-13787714 ]
Ashutosh Chauhan commented on HIVE-3183: ---------------------------------------- Would you like to format this as a patch and submit for review? > case expression should allow different types per ISO-SQL 2011 > ------------------------------------------------------------- > > Key: HIVE-3183 > URL: https://issues.apache.org/jira/browse/HIVE-3183 > Project: Hive > Issue Type: Bug > Components: SQL > Affects Versions: 0.8.0 > Reporter: N Campbell > Attachments: Hive-3183.patch.txt, udf_when_type_wrong2.q.out, > udf_when_type_wrong3.q.out > > > The ISO-SQL standard specification for CASE allows the specification to > include different types in the WHEN and ELSE blocks including this example > which mixes smallint and integer types > select case when vsint.csint is not null then vsint.csint else 1 end from > cert.vsint vsint > The Apache Hive docs do not state how it deviates from the standard or any > given restrictions so unsure if this is a bug vs an enhancement. Many SQL > applications mix so this seems to be a restrictive implementation if this is > by design. > Argument type mismatch '1': The expression after ELSE should have the same > type as those after THEN: "smallint" is expected but "int" is found -- This message was sent by Atlassian JIRA (v6.1#6144)