[
https://issues.apache.org/jira/browse/TAJO-1277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14313738#comment-14313738
]
ASF GitHub Bot commented on TAJO-1277:
--------------------------------------
Github user jihoonson commented on the pull request:
https://github.com/apache/tajo/pull/379#issuecomment-73655137
@sirpkt, thanks for your nice work.
The basic approach looks good to me.
I left some comments.
Sometimes, outer joins can be associative under some conditions. (Please
refer to
http://stackoverflow.com/questions/20022196/are-left-outer-joins-associative,
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins)
So, we should handle them, but I think that it should be done in another
issue.
> 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
> Assignee: 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)