[ 
https://issues.apache.org/jira/browse/TAJO-1275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keuntae Park updated TAJO-1275:
-------------------------------
    Description: 
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, b.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 to join 
qualifier.

  was:
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_name < 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 to join 
qualifier.


> Optimizer push 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, b.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 to join 
> qualifier.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to