[
https://issues.apache.org/jira/browse/HIVE-1989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083887#comment-13083887
]
John Sichi commented on HIVE-1989:
----------------------------------
Usually when we add a new optimization, we add a corresponding conf parameter
so that we can disable it if it causes trouble. Add it to HiveConf.java and
conf/hive-default.xml
> recognize transitivity of predicates on join keys
> -------------------------------------------------
>
> 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
> Assignee: Charles Chen
> Attachments: HIVE-1989v1.patch
>
>
> 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 where
> 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