You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Hyunsik Choi (JIRA)" <ji...@apache.org> on 2014/07/11 08:16:06 UTC

[jira] [Resolved] (TAJO-929) Broadcast join with empty outer join table returns empty result.

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

Hyunsik Choi resolved TAJO-929.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 0.9.0

committed.

> Broadcast join with empty outer join table returns empty result.  
> ------------------------------------------------------------------
>
>                 Key: TAJO-929
>                 URL: https://issues.apache.org/jira/browse/TAJO-929
>             Project: Tajo
>          Issue Type: Bug
>            Reporter: Hyoungjun Kim
>            Assignee: Hyoungjun Kim
>            Priority: Minor
>             Fix For: 0.9.0
>
>
> The below query returns empty result. customer_parts table is partitioned table by c_custkey column. Orders table is inner join and customer_parts is outer join. 
> {code:sql}
> select a.l_orderkey, b.o_orderkey, c.c_custkey from lineitem a 
> inner join orders b on a.l_orderkey = b.o_orderkey 
> left outer join customer_parts c on a.l_orderkey = c.c_custkey and c.c_custkey < 0
> {code}
> Repartitioner class doesn't consider mixed join operator(inner and outer). In the upper query case there is three scans stats. customer_parts's stat is zero but customer_parts is outer join.
> {code}
> JoinNode joinNode = PlannerUtil.findMostBottomNode(execBlock.getPlan(), NodeType.JOIN);
> if (joinNode != null) {
>   if ( (joinNode.getJoinType() == JoinType.INNER)) {
>     for (int i = 0; i < stats.length; i++) {
>       if (stats[i] == 0) {
>         return;
>       }
>     }
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)