You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Hive QA (JIRA)" <ji...@apache.org> on 2013/11/16 01:21:21 UTC

[jira] [Commented] (HIVE-5825) Case statement type checking too restrictive for parameterized types

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

Hive QA commented on HIVE-5825:
-------------------------------



{color:green}Overall{color}: +1 all checks pass

Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12614000/HIVE-5825.1.patch

{color:green}SUCCESS:{color} +1 4608 tests passed

Test results: http://bigtop01.cloudera.org:8080/job/PreCommit-HIVE-Build/320/testReport
Console output: http://bigtop01.cloudera.org:8080/job/PreCommit-HIVE-Build/320/console

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12614000

> 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
>         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)