recognize transitive join conditions
------------------------------------

                 Key: HIVE-1989
                 URL: https://issues.apache.org/jira/browse/HIVE-1989
             Project: Hive
          Issue Type: Improvement
          Components: Query Processor
    Affects Versions: 0.6.0
            Reporter: John Sichi


Given

{noformat}
set hive.mapred.mode=strict;
create table invites (foo int, bar string) partitioned by (ds string);
create table invites2 (foo int, bar string) partitioned by (ds string);
select count(*) from invites join invites2 on invites.ds=invites2.ds and 
invites.ds='2011-01-01';
{noformat}

currently an error occurs:

{noformat}
Error in semantic analysis: No Partition Predicate Found for Alias "invites2" 
Table "invites2"
{noformat}

The optimizer should be able to infer a predicate on invites2 via transitivity. 
 The current lack places a burden on the user to add a redundant predicate, and 
makes impossible (at least in strict mode) join views where both underlying 
tables are partitioned (the join select list has to pick one of the tables 
arbitrarily).


-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to