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?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---