hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mariusz Sakowski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-11375) Broken processing of queries containing NOT (x IS NOT NULL and x <> 0)
Date Mon, 27 Jul 2015 09:59:04 GMT

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

Mariusz Sakowski commented on HIVE-11375:
-----------------------------------------

hive --version
Hive 1.1.0-cdh5.4.3

> Broken processing of queries containing NOT (x IS NOT NULL and x <> 0)
> ----------------------------------------------------------------------
>
>                 Key: HIVE-11375
>                 URL: https://issues.apache.org/jira/browse/HIVE-11375
>             Project: Hive
>          Issue Type: Bug
>          Components: SQL
>            Reporter: Mariusz Sakowski
>
> When running query like this:
> {code}explain select * from test where (val is not null and val <> 0);{code}
> hive will simplify expression in parenthesis and omit is not null check:
> {code}
>           Filter Operator
>             predicate: (val <> 0) (type: boolean)
> {code}
> which is fine.
> but if we negate condition using NOT operator:
> {code}explain select * from test where not (val is not null and val <> 0);{code}
> hive will also simplify thing, but now it will break stuff:
> {code}
>           Filter Operator
>             predicate: (not (val <> 0)) (type: boolean)
> {code}
> because valid predicate should be *val == 0 or val is null*, while above row is equivalent
to *val == 0* only, filtering away rows where val is null
> simple example:
> {code}
> CREATE TABLE example (
>     val bigint
> );
> INSERT INTO example VALUES (1), (NULL), (0);
> -- returns 2 rows - NULL and 0
> select * from example where (val is null or val == 0);
> -- returns 1 row - 0
> select * from example where not (val is not null and val <> 0);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message