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

Reply via email to