[
https://issues.apache.org/jira/browse/TAJO-1275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14262746#comment-14262746
]
Keuntae Park commented on TAJO-1275:
------------------------------------
I made pull request but name was slightly different from issues name (now,
fixed).
Following is github message:
GitHub user sirpkt opened a pull request:
https://github.com/apache/tajo/pull/327
Tajo-1275: Optimizer pushs down non-equi filter as theta join qualifier
This patch prevents non-equi filter condition becomes join qualifier of
child nodes.
It can avoid theta join is created as a result of filter push down.
in FilterPushDownRule.java, visitJoin() additionally checks all the join
qualifier candidates from pushing down filters whether it is non-equi join
qualifier or not.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/sirpkt/tajo TAJO-1275
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tajo/pull/327.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #327
----
commit 8915b4b598fcb82ceba7ec722b1a422b8ad29f55
Author: sirpkt <[email protected]>
Date: 2014-12-31T08:22:52Z
Filter push down is changed not to push down theta join condition
commit 376bd194c51a23d407cc0161b7c9c9dae6f36714
Author: sirpkt <[email protected]>
Date: 2015-01-02T02:07:38Z
add test cases for inner, left outer, right outer joins
----
> Optimizer pushs down non-equi filter as theta join qualifier
> ------------------------------------------------------------
>
> Key: TAJO-1275
> URL: https://issues.apache.org/jira/browse/TAJO-1275
> Project: Tajo
> Issue Type: Bug
> Reporter: Keuntae Park
> Assignee: Keuntae Park
> Priority: Minor
>
> Plan rewriter pushes down filters to leaf node as possible and changes filter
> condition to join qualifier if possible.
> Even though Tajo does not support theta-join completely, however,
> it pushes down non-equi compare and makes it as join qualifier sometimes.
> For example,
> {code}
> select * from (select a.r_name as a_name, b.c_name as c_name from region a,
> customer b) xx where a_name < c_name
> {code}
> is rewritten as
> {code}
> select a.r_name as a_name, b.c_name as c_name from region a join customer b
> on a.r_name < b.c_name
> {code}
> And
> {code}
> select * from region a join customer b on a.r_regionkey = b.c_custkey where
> a.r_name < c.c_name
> {code}
> is rewritten as
> {code}
> select * from region a join customer b on a.r_regionkey = b.c_custkey and
> a.r_name < c.c_name
> {code}
> Until TAJO-742 is resolved (that means theta join is supported),
> I think it should not be allowed to rewrite non-equi filter condition as join
> qualifier.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)