[ 
https://issues.apache.org/jira/browse/HIVE-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amareshwari Sriramadasu updated HIVE-1534:
------------------------------------------

    Attachment: patch-1534-1.txt

Patch with bug fixes. Also takes care of SMBMapJoin.

Patch does the following:
* Moved the code which decides whether to push the filters or not from 
pushJoinFilters() to creation of filters (parseJoinCondition). Because, for 
nested joins, mergeJoinTree changes the join-tree structure. 
** Join filters are not pushed if
*** join is full outer join or
*** join is left outer join and filter is on left alias
*** join is right outer join and filter is on right alias
* Join impl changes:
** When join values are computed from the row object, the row is evaluated to 
be filtered or not.
** Depending on the row is filtered or not, joinObjects*OuterJoin methods put 
null arrays
* Fixed a minor bug in JoinDesc with noOuterJoin variable. The variable is not 
passed down properly and isNoOuterJoin looks for the join type and evaluates. 
Fixed it so that noOuterJoin variable contains correct value




> Join filters do 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
>         Attachments: patch-1534-1.txt, patch-1534.txt
>
>
>  SELECT * FROM T1 LEFT OUTER JOIN T2 ON (T1.c1=T2.c2 AND T1.c1 < 10)
> and  SELECT * FROM T1 RIGHT OUTER JOIN T2 ON (T1.c1=T2.c2 AND T2.c1 < 10)
> do not give correct results.

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

Reply via email to