[
https://issues.apache.org/jira/browse/TAJO-316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hyunsik Choi updated TAJO-316:
------------------------------
Attachment: TAJO-316.patch
I've uploaded the first patch.
This patch does as follows:
* Improve GreedyHeuristicJoinOrder to handle non-commutative joins, such as
left/right/outer and anti/semi joins
* Improve GreedyHeuristicJoinOrder to generate a bushy join tree
** This class is based on the greedy operator order algorithm, whose
complexity is O(n^3).
** It has more possibility to generate more optimal join orders and still is
fast.
* Improve GlobalPlanner to handle a bushy join tree
* Improve ExecutionBlockCursor to handle a bushy tree distributed execution
plan
This work almost done, but this patch still is in progress for more refactors,
test, and documentations. I'll post the completed patch tomorrow.
> Improve GreedyHeuristicJoinOrderAlgorithm to deal with non-commutative joins
> ----------------------------------------------------------------------------
>
> Key: TAJO-316
> URL: https://issues.apache.org/jira/browse/TAJO-316
> Project: Tajo
> Issue Type: Improvement
> Components: planner/optimizer
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Labels: cbo
> Fix For: 0.8-incubating
>
> Attachments: TAJO-316.patch
>
>
> GreedyHeuristicJoinOrderAlgorithm is a default cost-based join order
> algorithm. It is designed only for inner joins, and it cannot deal with
> non-commutative joins, such as left/right/full outer join and semi/anti join.
> The main goal of this issue is to improve this algorithm to deal with them.
--
This message was sent by Atlassian JIRA
(v6.1#6144)