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

Zoltan Haindrich commented on HIVE-16505:
-----------------------------------------

please remove unknown from booleanValueTok ; that seems to be only used in 
{{set autocommit ...}}; and {{set autocommit unknown}} seems to be a very 
interesting setting - as a matter of fact I'm not sure if {{autocommit false}} 
is supported... (by the way I don't think that having TOK_TRUE/FALSE is usefull)

I see your intention in the test; but {{select 1 where null is not unknown}} 
doesn't fit in :D
I think you might probably use {{select assert_true( null is unknown )}} to 
check these...as qtest outputs are overwritten all the time...(sometimes even 
by mistake)

> Support "unknown" boolean truth value
> -------------------------------------
>
>                 Key: HIVE-16505
>                 URL: https://issues.apache.org/jira/browse/HIVE-16505
>             Project: Hive
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Zoltan Haindrich
>            Assignee: Laszlo Bodor
>            Priority: Major
>         Attachments: HIVE-16505.01.patch
>
>
> according to the standard, boolean truth value might be: 
> {{TRUE|FALSE|UNKNOWN}}.
> similar queries to the following should be supported:
> {code:java}
> select 1 where null is unknown;
> select 1 where (select cast(null as boolean) ) is unknown;
> {code}
> "unknown" behaves similarily to null. {{(null=null) is null}}
>  
> "All boolean values and SQL truth values are comparable and all are 
> assignable to a site of type boolean. The value True is greater than the 
> value False, and any comparison involving the null value or an Unknown truth 
> value will return an Unknown result. The values True and False may be 
> assigned to any site having a boolean data type; assignment of Unknown, or 
> the null value, is subject to the nullability characteristic of the target."
>  
> *Truth table for the AND boolean operator*
> AND True False Unknown
> True True False Unknown
> False False False False
> Unknown Unknown False Unknown
> *Truth table for the OR boolean operator*
> OR True False Unknown
> True True True True
> False True False Unknown
> Unknown True Unknown Unknown
> *Truth table for the IS boolean operator*
> IS TRUE FALSE UNKNOWN
> True True False False
> False False True False
> Unknown False False True
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to