Daniel Dai created HIVE-16609: --------------------------------- Summary: col='__HIVE_DEFAULT_PARTITION__' condition in select statement may produce wrong result Key: HIVE-16609 URL: https://issues.apache.org/jira/browse/HIVE-16609 Project: Hive Issue Type: Bug Components: Metastore Reporter: Daniel Dai Assignee: Daniel Dai
A variation of drop_partitions_filter4.q produces wrong result: {code} create table ptestfilter (a string, b int) partitioned by (c string, d int); INSERT OVERWRITE TABLE ptestfilter PARTITION (c,d) select 'Col1', 1, null, null; INSERT OVERWRITE TABLE ptestfilter PARTITION (c,d) select 'Col2', 2, null, 2; INSERT OVERWRITE TABLE ptestfilter PARTITION (c,d) select 'Col3', 3, 'Uganda', null; select * from ptestfilter where c='__HIVE_DEFAULT_PARTITION__' or lower(c)='a'; {code} The "select" statement does not produce the rows containing "__HIVE_DEFAULT_PARTITION__". Note "select * from ptestfilter where c is null or lower(c)='a';" works fine. In the query, c is a non-string partition column, we need another condition containing a udf so the condition is not recognized by PartFilterExprUtil.makeExpressionTree in ObjectStore. HIVE-11208/HIVE-15923 is addressing a similar issue in drop partition, however, select is not covered. -- This message was sent by Atlassian JIRA (v6.3.15#6346)