You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Jesus Camacho Rodriguez (JIRA)" <ji...@apache.org> on 2015/11/04 13:39:27 UTC
[jira] [Created] (HIVE-12335) CBO (Calcite Return Path): Support
for unique join
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)