You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Zoltán Borók-Nagy (JIRA)" <ji...@apache.org> on 2018/01/26 13:33:00 UTC
[jira] [Resolved] (IMPALA-6322) Group by expression fails when
expression includes a CAST
[ https://issues.apache.org/jira/browse/IMPALA-6322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zoltán Borók-Nagy resolved IMPALA-6322.
---------------------------------------
Resolution: Fixed
Fix Version/s: Impala 3.0
Fixed in https://github.com/apache/impala/commit/545e60f8329ddd98b5adaff5981b52bbdcf4d69d
> Group by expression fails when expression includes a CAST
> ---------------------------------------------------------
>
> Key: IMPALA-6322
> URL: https://issues.apache.org/jira/browse/IMPALA-6322
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 2.9.0
> Reporter: N Campbell
> Assignee: Zoltán Borók-Nagy
> Priority: Major
> Fix For: Impala 3.0
>
> Attachments: TSUPPLY
>
>
> Impala 2.5 thru 2.9 will fail to execute a Group by when it includes an expression which also includes a includes CAST.
> *Fails*
> SELECT
> `sno` AS `SNO`,
> upper( cast(`pno` as varchar(32)) ) AS `PNO`
> FROM
> `cert`.`tsupply`
> GROUP BY
> `sno`,
> upper ( cast(`pno` as varchar(32)) )
> Error: [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000, errorMessage:AnalysisException: select list expression not produced by aggregation output (missing from GROUP BY clause?): upper(CAST(pno AS VARCHAR(32)))
> ), Query: SELECT
> `sno` AS `SNO`,
> upper( cast(`pno` as varchar(32)) ) AS `PNO`
> FROM
> `cert`.`tsupply`
> GROUP BY
> `sno`,
> upper ( cast(`pno` as varchar(32)) ).
> SQLState: HY000
> ErrorCode: 500051
> *Works*
> SELECT
> `sno` AS `SNO`,
> upper(pno) AS `PNO`
> FROM
> `cert`.`tsupply`
> GROUP BY
> `sno`,
> upper(pno)
> SELECT distinct
> `sno` AS `SNO`,
> upper( cast(`pno` as varchar(32)) ) AS `PNO`
> FROM
> `cert`.`tsupply`
> select `SNO`, `PNO` from (
> SELECT
> `sno` AS `SNO`,
> upper( cast(`pno` as varchar(32)) ) AS `PNO`
> FROM `cert`.`tsupply`
> ) T
> GROUP BY
> `SNO`,
> `PNO`
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)