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