[ https://issues.apache.org/jira/browse/HIVE-11375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14700322#comment-14700322 ]
Hive QA commented on HIVE-11375: -------------------------------- {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12750897/HIVE-11375.2.patch {color:red}ERROR:{color} -1 due to 19 failed/errored test(s), 9371 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_annotate_stats_filter org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_decimal_udf org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_filter_cond_pushdown org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_filter_join_breaktask org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_fold_when org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_input_testxpath2 org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_list_bucket_query_oneskew_3 org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_rand_partitionpruner3 org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_select_unquote_not org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_isnull_isnotnull org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_size org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_vector_decimal_udf org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_filter_join_breaktask org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_vector_decimal_udf org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver_filter_join_breaktask org.apache.hive.service.cli.operation.TestOperationLoggingAPIWithMr.testFetchResultsOfLogWithPerformanceMode org.apache.hive.service.cli.operation.TestOperationLoggingAPIWithMr.testFetchResultsOfLogWithVerboseMode org.apache.hive.service.cli.operation.TestOperationLoggingAPIWithTez.testFetchResultsOfLogWithPerformanceMode org.apache.hive.service.cli.operation.TestOperationLoggingAPIWithTez.testFetchResultsOfLogWithVerboseMode {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4989/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4989/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-4989/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 19 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12750897 - PreCommit-HIVE-TRUNK-Build > 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: Logical Optimizer > Affects Versions: 2.0.0 > Reporter: Mariusz Sakowski > Assignee: Aihua Xu > Fix For: 2.0.0 > > Attachments: HIVE-11375.2.patch, HIVE-11375.patch > > > 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)