Jesus Camacho Rodriguez created HIVE-12335:
----------------------------------------------

             Summary: CBO (Calcite Return Path): Support for unique join
                 Key: HIVE-12335
                 URL: https://issues.apache.org/jira/browse/HIVE-12335
             Project: Hive
          Issue Type: Sub-task
          Components: CBO
            Reporter: Jesus Camacho Rodriguez
            Assignee: Jesus Camacho Rodriguez


As of Calcite 1.5, Calcite might identify some join operators as unique joins. 
HiveOpConverter should support the translation into Hive unique joins.

Currently the translation is not working properly, as the unique join fails at 
runtime (probably due to some aux data structures not being filled up 
correctly).

The following query in cbo_rp_gby.q, run with the latest Calcite 1.5 snapshot, 
produces this error at runtime:

{noformat}
select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, 
sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 
or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having 
cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) 
cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where 
(cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by 
c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float 
>= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by 
cbo_t3.c_int, c;
{noformat}



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

Reply via email to