You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ashutosh Chauhan (JIRA)" <ji...@apache.org> on 2016/08/16 22:01:20 UTC

[jira] [Resolved] (HIVE-12335) CBO (Calcite Return Path): Support for unique join

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

Ashutosh Chauhan resolved HIVE-12335.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.2.0

No longer reproducible.

> 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
>             Fix For: 2.2.0
>
>
> 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)