[
https://issues.apache.org/jira/browse/TAJO-1352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14625656#comment-14625656
]
ASF GitHub Bot commented on TAJO-1352:
--------------------------------------
Github user hyunsik commented on the pull request:
https://github.com/apache/tajo/pull/593#issuecomment-121105576
I'm leaving additional comments.
* Nested if-condition branches in JoinedRelationsVertex::buildPlan for
left-deep tree can be simplified. If you intend better code readability, it
would be Ok.
* isSymmetricJoinOnly in JoinGraph only seems to be affected by only the
last addJoin() call. But, its name and isSymmetricJoinOnly() name seems that
this join graph consists of only symmetric joins.
* JoinGraph::addJoin cuts the cyclic if it find out the loop. It would be
Ok in the current implementation. As a database researcher and aside from this
patch, I have just a question. Arbitrary cyclic cuts like this can lose the
better join opportunities. Is this singular position true? I'm just wondering.
If so, should we find a join order from just a join graph even including loops?
> 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)