[ 
https://issues.apache.org/jira/browse/HIVE-8433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14178994#comment-14178994
 ] 

Sergey Shelukhin commented on HIVE-8433:
----------------------------------------

Btw, I'm going to update the patch to deal with more cases, but it will still 
be the same; applicability of RR check will merely be expanded. So it can be 
reviewed before that.

> CBO loses a column during AST conversion
> ----------------------------------------
>
>                 Key: HIVE-8433
>                 URL: https://issues.apache.org/jira/browse/HIVE-8433
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>            Priority: Critical
>         Attachments: HIVE-8433.01.patch, HIVE-8433.02.patch, HIVE-8433.patch
>
>
> {noformat}
> SELECT
>   CAST(value AS BINARY),
>   value
> FROM src
> ORDER BY value
> LIMIT 100
> {noformat}
> returns only one column.
> Final CBO plan is
> {noformat}
>   HiveSortRel(sort0=[$1], dir0=[ASC]): rowcount = 500.0, cumulative cost = 
> {24858.432393688767 rows, 500.0 cpu, 0.0 io}, id = 44
>     HiveProjectRel(value=[CAST($0):BINARY(2147483647) NOT NULL], 
> value1=[$0]): rowcount = 500.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 
> io}, id = 42
>       HiveProjectRel(value=[$1]): rowcount = 500.0, cumulative cost = {0.0 
> rows, 0.0 cpu, 0.0 io}, id = 40
>         HiveTableScanRel(table=[[default.src]]): rowcount = 500.0, cumulative 
> cost = {0}, id = 0
> {noformat}
> but the resulting AST has only one column. Must be some bug in conversion, 
> probably related to the name collision in the schema, judging by the alias of 
> the column for the binary-cast value in the AST
> {noformat} 
> TOK_QUERY
>    TOK_FROM
>       TOK_SUBQUERY
>          TOK_QUERY
>             TOK_FROM
>                TOK_TABREF
>                   TOK_TABNAME
>                      default
>                      src
>                   src
>             TOK_INSERT
>                TOK_DESTINATION
>                   TOK_DIR
>                      TOK_TMP_FILE
>                TOK_SELECT
>                   TOK_SELEXPR
>                      .
>                         TOK_TABLE_OR_COL
>                            src
>                         value
>                      value
>          $hdt$_0
>    TOK_INSERT
>       TOK_DESTINATION
>          TOK_DIR
>             TOK_TMP_FILE
>       TOK_SELECT
>          TOK_SELEXPR
>             TOK_FUNCTION
>                TOK_BINARY
>                .
>                   TOK_TABLE_OR_COL
>                      $hdt$_0
>                   value
>             value
>       TOK_ORDERBY
>          TOK_TABSORTCOLNAMEASC
>             TOK_TABLE_OR_COL
>                value
>       TOK_LIMIT
>          100
> {noformat}



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

Reply via email to