You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2014/10/11 04:10:33 UTC

[jira] [Created] (HIVE-8433) CBO loses a column during AST conversion

Sergey Shelukhin created HIVE-8433:
--------------------------------------

             Summary: 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


{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 converted, 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)