[ 
https://issues.apache.org/jira/browse/TAJO-1277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14301045#comment-14301045
 ] 

Jihoon Son commented on TAJO-1277:
----------------------------------

For the above case, the customer and nation tables must be joined first, and 
then the result is joined with the region table.
In addition, the join type should be the outer join for the first join.

I think that we should handle joins separately according to their join types 
when optimizing the join order.

> GreedyHeuristicJoinOrderAlgorithm sometimes wrongly assumes associativity of 
> joins
> ----------------------------------------------------------------------------------
>
>                 Key: TAJO-1277
>                 URL: https://issues.apache.org/jira/browse/TAJO-1277
>             Project: Tajo
>          Issue Type: Bug
>            Reporter: Keuntae Park
>
> It looks like GreedyHeuristicJoinOrderAlgorithm always assumes every joins 
> are associative.
> Following query returns in inaccurate result:
> {code}
> select * FROM
> customer c 
> right outer join nation n on c.c_custkey = n.n_nationkey
> join region r on c.c_custkey = r.r_regionkey;
> {code}
> because GreedyHeuristicJoinOrderAlgorithm changes join order as
> {code}
> select * FROM
> customer c 
> join region r on c.c_custkey = r.r_regionkey
> right outer join nation n on c.c_custkey = n.n_nationkey;
> {code}
> I think getBestPair() should be fixed to avoid wrong join ordering. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to