[ https://issues.apache.org/jira/browse/HIVE-10416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14507739#comment-14507739 ]
Laljo John Pullokkaran commented on HIVE-10416: ----------------------------------------------- [~jcamachorodriguez] Introducing top level select needs to traverse recursively as long as nodes are sortrel and !ProjectRel. Practically this may happen only in very few cases (may be OB followed by limit). regardless its better to traverse it down till you hit a non sort rel. > CBO (Calcite Return Path): Fix return columns if Sort operator is on top of > plan returned by Calcite > ---------------------------------------------------------------------------------------------------- > > Key: HIVE-10416 > URL: https://issues.apache.org/jira/browse/HIVE-10416 > Project: Hive > Issue Type: Sub-task > Components: CBO > Reporter: Jesus Camacho Rodriguez > Assignee: Jesus Camacho Rodriguez > Fix For: 1.2.0 > > Attachments: HIVE-10416.01.patch, HIVE-10416.patch > > > When return path is on, if the plan's top operator is a Sort, we need to > produce a SelectOp that will output exactly the columns needed by the FS. > The following query reproduces the problem: > {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 order by a) 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 order by q/10 desc, r asc) 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 order by cbo_t3.c_int+c desc, c; > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)