Hyoungjun Kim created TAJO-929:
----------------------------------

             Summary: 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


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)

Reply via email to