You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Walter Wu (JIRA)" <ji...@apache.org> on 2017/02/20 07:31:44 UTC

[jira] [Assigned] (HIVE-15874) Invalid position alias in Group By when CBO failed

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

Walter Wu reassigned HIVE-15874:
--------------------------------

    Assignee: Pengcheng Xiong

> Invalid position alias in Group By when CBO failed 
> ---------------------------------------------------
>
>                 Key: HIVE-15874
>                 URL: https://issues.apache.org/jira/browse/HIVE-15874
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO
>    Affects Versions: 1.2.1, 2.1.1
>            Reporter: Walter Wu
>            Assignee: Pengcheng Xiong
>         Attachments: HIVE-15874.1.patch
>
>
> for example:
> create table alias_test_01(a INT, b STRING) ;
> create table alias_test_02(a INT, b STRING) ;
> create table alias_test_03(a INT, b STRING) ;
> set hive.groupby.position.alias = true;
> set hive.cbo.enable=true;
> explain 
> select * from 
> alias_test_01 alias01 
> left join 
> (
> select 2017 as a, b from alias_test_02 group by 1, 2
> ) alias02 
> on alias01.a = alias02.a 
> left join 
> alias_test_03 alias03
> on alias01.a = alias03.a;
> error info:
> FAILED: SemanticException [Error 10220]: Invalid position alias in Group By
> Position alias: 2017 does not exist
> The Select List is indexed from 1 to 2
> the first process Position Alias result:
> when CBO optimize failed and reAnalyzeAST is true, position alias will be processed twice.
> 1.   'group by 1, 2' convert to 'group by 2017, b'
> 2.   'group by 2017, b'  2017 column does not exist



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)