From d084a2de3271fd8b0d29ee67e1e214e8b9d96d6d Mon Sep 17 00:00:00 2001 From: Davies Liu Date: Mon, 4 Jan 2016 14:26:56 -0800 Subject: [SPARK-12541] [SQL] support cube/rollup as function This PR enable cube/rollup as function, so they can be used as this: ``` select a, b, sum(c) from t group by rollup(a, b) ``` Author: Davies Liu Closes #10522 from davies/rollup. --- sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sql/hive') diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala index b1d841d1b5..cbfe09b31d 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala @@ -1121,12 +1121,12 @@ https://cwiki.apache.org/confluence/display/Hive/Enhanced+Aggregation%2C+Cube%2C }), rollupGroupByClause.map(e => e match { case Token("TOK_ROLLUP_GROUPBY", children) => - Rollup(children.map(nodeToExpr), withLateralView, selectExpressions) + Aggregate(Seq(Rollup(children.map(nodeToExpr))), selectExpressions, withLateralView) case _ => sys.error("Expect WITH ROLLUP") }), cubeGroupByClause.map(e => e match { case Token("TOK_CUBE_GROUPBY", children) => - Cube(children.map(nodeToExpr), withLateralView, selectExpressions) + Aggregate(Seq(Cube(children.map(nodeToExpr))), selectExpressions, withLateralView) case _ => sys.error("Expect WITH CUBE") }), Some(Project(selectExpressions, withLateralView))).flatten.head -- cgit v1.2.3