[ 
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)

Reply via email to