[
https://issues.apache.org/jira/browse/TAJO-1352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14626056#comment-14626056
]
ASF GitHub Bot commented on TAJO-1352:
--------------------------------------
Github user jihoonson commented on the pull request:
https://github.com/apache/tajo/pull/593#issuecomment-121170531
@hyunsik thanks for your review. I've reflected all your comments and added
more comments to help your understanding.
Regarding on the question about JoinGraph::addJoin, it seems that there are
some misunderstandings. The JoinGraph::addJoin method just checks whether there
is a cycle rather than physically cutting it. This is to maintain the ```root
vertexes``` which the graph traverse is started from. In this patch, the root
vertexes are identified if they don't have any incoming edges. However, in the
presence of a cycle, every vertex has at least one incoming edge, so cannot be
the root vertex. The if clause related to the cycle at JoinGraph.java:43 is to
prevent such case.
> Improve the join order algorithm to consider missed cases of associative join
> operators
> ---------------------------------------------------------------------------------------
>
> Key: TAJO-1352
> URL: https://issues.apache.org/jira/browse/TAJO-1352
> Project: Tajo
> Issue Type: Improvement
> Components: planner/optimizer
> Reporter: Jihoon Son
> Assignee: Jihoon Son
> Attachments: JoinGraph.png
>
>
> TAJO-1277 fixes a bug related to the associativity of join operators, but
> there are still some missed cases that join operators are associative. This
> work should include the cases described in the following links:
> * http://stackoverflow.com/questions/20022196/are-left-outer-joins-associative
> * https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)