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

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

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)