You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Amareshwari Sriramadasu (JIRA)" <ji...@apache.org> on 2010/09/07 07:02:34 UTC

[jira] Commented: (HIVE-1534) predicate pushdown does not work correctly with outer joins

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

Amareshwari Sriramadasu commented on HIVE-1534:
-----------------------------------------------

bq. Definitely a bug. It happens regardless of the setting of hive.optimize.ppd, so it probably has something to do with the way the join condition is decomposed rather than the predicate pushdown optimization.
Yes. This has nothing to do with predicate pushdown. After going through Join implementation, I see that after Join-tree is generated, join filters are pushed and then join operator is generated for the join condition. But for outer joins, filters should be part of the join condition i.e. if the condition is not obeyed (or the filter is not obeyed), the values should be joined with nulls.

> predicate pushdown does not work correctly with outer joins
> -----------------------------------------------------------
>
>                 Key: HIVE-1534
>                 URL: https://issues.apache.org/jira/browse/HIVE-1534
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>            Reporter: Amareshwari Sriramadasu
>            Assignee: Amareshwari Sriramadasu
>
> The hive documentation for predicate pushdown says:
> Left outer join: predicates on the left side aliases are pushed
> Right outer join: predicates on the right side aliases are pushed
> But, this pushdown should not happen for AND predicates in join queries:
> ex: SELECT * FROM T1 JOIN T2 ON (T1.c1=T2.c2 AND T1.c1 < 10)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.