You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Tim Armstrong (Code Review)" <ge...@cloudera.org> on 2020/06/29 16:34:04 UTC

[Impala-ASF-CR] IMPALA-9897: GROUPING SETS/CUBE/ROLLUP parsing and analysis

Hello Aman Sinha, Shant Hovsepian, Impala Public Jenkins, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/16112

to look at the new patch set (#7).

Change subject: IMPALA-9897: GROUPING SETS/CUBE/ROLLUP parsing and analysis
......................................................................

IMPALA-9897: GROUPING SETS/CUBE/ROLLUP parsing and analysis

Supports a single ROLLUP, CUBE or GROUPING SETS clause in
GROUP BY.

Also adds non-standard "WITH ROLLUP" and "WITH CUBE" syntax
that is supported by some other SQL dialects.

This implements basic parsing and validation of the query,
then raises an AnalysisException to report that it is not
supported so that incorrect plans will not be generated.

This patch adds a GroupByClause to each SelectStmt that
contains info about the grouping sets and the original
GROUP BY list. The grouping exprs are still represented
as a List<Expr> in SelectStmt. Most of the logic, including
statement and expr rewrites, can operate on this list of
expressions without requiring special handling for grouping
sets.

Testing:
* Add Parser test.
* Add toSql() test.
* Added analysis tests to check that analysis accepts or rejects
  queries correctly.

Change-Id: I178e45de94d736630c97ae1ec4a92423cd74621f
---
M fe/src/main/cup/sql-parser.cup
A fe/src/main/java/org/apache/impala/analysis/GroupByClause.java
M fe/src/main/java/org/apache/impala/analysis/SelectStmt.java
M fe/src/main/java/org/apache/impala/analysis/StmtRewriter.java
M fe/src/main/java/org/apache/impala/common/RuntimeEnv.java
M fe/src/main/jflex/sql-scanner.flex
M fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java
M fe/src/test/java/org/apache/impala/analysis/AnalyzerTest.java
M fe/src/test/java/org/apache/impala/analysis/ParserTest.java
M fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java
10 files changed, 675 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/12/16112/7
-- 
To view, visit http://gerrit.cloudera.org:8080/16112
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I178e45de94d736630c97ae1ec4a92423cd74621f
Gerrit-Change-Number: 16112
Gerrit-PatchSet: 7
Gerrit-Owner: Tim Armstrong <ta...@cloudera.com>
Gerrit-Reviewer: Aman Sinha <am...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Shant Hovsepian <sh...@cloudera.com>