You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/06/24 22:31:00 UTC
[jira] [Commented] (IMPALA-10096) May throw exception after expr rewritten , if the group by ordinal reference is still a numeric literal
[ https://issues.apache.org/jira/browse/IMPALA-10096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17558696#comment-17558696 ]
ASF subversion and git services commented on IMPALA-10096:
----------------------------------------------------------
Commit f561daa247d6e6bd2f898e9b637830bcd51b6cc5 in impala's branch refs/heads/master from guojingfeng
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=f561daa24 ]
IMPALA-10865: Fix initialize SelectStmt's groupingExprs_ in analyzeGroupingExprs
This patch rollback some changes of IMPALA-9620. IMPALA-9620 re-
initialize SelectStmt's groupingExprs_ to ensure that group-by and
cnf exprs are analyzed. But the following patch of IMPALA-9693
explicitly analyzes exprs which is equivalent to IMPALA-9620. So this
rollback is safe here.
In general, the analyze algorithm is that:
1. Analyze the stmt tree and make copies of expressions
2. Rewrite selected expressions, **rewrite rules should ensure
rewritten exprs are analyzed**
3. Make copied expressions analyzed
4. ReAnalyze the tree
The problem is that if we change the groupingExprs_ of SelectStmt,
in re-analyze phase column alias will be substitude to Expr that
duplicate with origin column which will be removed in
`buildAggregateExprs`.
Another reason why this patch is submitted is that re-initialize
SelectStmt's groupingExprs_ will cause other problems. IMPALA-10096 is
a typical case. See jira for detail execeptions.
Beside, this patch modifies ExtractCompundVerticalBarExprRule to do a
explicit analyze to ensure expr are rewritten.
Test:
- Add new test into aggregation.test and passed
- Ran all fe tests and passed
Change-Id: I9d1779e6c282d9fd02beacf5ddfafcc5c0baf3b0
Reviewed-on: http://gerrit.cloudera.org:8080/17781
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
> May throw exception after expr rewritten , if the group by ordinal reference is still a numeric literal
> -------------------------------------------------------------------------------------------------------
>
> Key: IMPALA-10096
> URL: https://issues.apache.org/jira/browse/IMPALA-10096
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 4.0.0
> Reporter: Xianqing He
> Assignee: Xianqing He
> Priority: Minor
> Fix For: Impala 4.0.0
>
>
> When the sql can rewrite, if the group by ordinal reference is still a numeric literal, it will throw exception
> {code:java}
> select 13, id, count(1) from dimtbl group by 1, 2;
> ERROR: AnalysisException: GROUP BY: ordinal exceeds the number of items in the SELECT list: 13
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org