[ https://issues.apache.org/jira/browse/SPARK-29700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Takeshi Yamamuro updated SPARK-29700: ------------------------------------- Description: PgSQL can process nested grouping sets, but Spark cannot; {code:java} postgres=# create table gstest2 (a integer, b integer, c integer, d integer, e integer, f integer, g integer, h integer); postgres=# insert into gstest2 values postgres-# (1, 1, 1, 1, 1, 1, 1, 1), postgres-# (1, 1, 1, 1, 1, 1, 1, 2), postgres-# (1, 1, 1, 1, 1, 1, 2, 2), postgres-# (1, 1, 1, 1, 1, 2, 2, 2), postgres-# (1, 1, 1, 1, 2, 2, 2, 2), postgres-# (1, 1, 1, 2, 2, 2, 2, 2), postgres-# (1, 1, 2, 2, 2, 2, 2, 2), postgres-# (1, 2, 2, 2, 2, 2, 2, 2), postgres-# (2, 2, 2, 2, 2, 2, 2, 2); INSERT 0 9 postgres=# select sum(c) from gstest2 postgres-# group by grouping sets(grouping sets((a, b))) postgres-# order by 1 desc; sum ----- 16 4 4 (3 rows) {code} {code:java} scala> sql(""" | select sum(c) from gstest2 | group by grouping sets(grouping sets((a, b))) | order by 1 desc | """).show org.apache.spark.sql.catalyst.parser.ParseException: mismatched input 'sets' expecting {')', ','}(line 3, pos 34) == SQL == select sum(c) from gstest2 group by grouping sets(grouping sets((a, b))) ----------------------------------^^^ order by 1 desc at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:268) at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:135) at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48) at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:85) at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:605) at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111) at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:605) ... 51 elided {code} See a doc for the form: https://www.postgresql.org/docs/current/sql-select.html was: PgSQL can process nested grouping sets, but Spark cannot; {code:java} postgres=# create table gstest2 (a integer, b integer, c integer, d integer, e integer, f integer, g integer, h integer); postgres=# insert into gstest2 values postgres-# (1, 1, 1, 1, 1, 1, 1, 1), postgres-# (1, 1, 1, 1, 1, 1, 1, 2), postgres-# (1, 1, 1, 1, 1, 1, 2, 2), postgres-# (1, 1, 1, 1, 1, 2, 2, 2), postgres-# (1, 1, 1, 1, 2, 2, 2, 2), postgres-# (1, 1, 1, 2, 2, 2, 2, 2), postgres-# (1, 1, 2, 2, 2, 2, 2, 2), postgres-# (1, 2, 2, 2, 2, 2, 2, 2), postgres-# (2, 2, 2, 2, 2, 2, 2, 2); INSERT 0 9 postgres=# select sum(c) from gstest2 postgres-# group by grouping sets(grouping sets((a, b))) postgres-# order by 1 desc; sum ----- 16 4 4 (3 rows) {code} {code:java} scala> sql(""" | select sum(c) from gstest2 | group by grouping sets(grouping sets((a, b))) | order by 1 desc | """).show org.apache.spark.sql.catalyst.parser.ParseException: mismatched input 'sets' expecting {')', ','}(line 3, pos 34) == SQL == select sum(c) from gstest2 group by grouping sets(grouping sets((a, b))) ----------------------------------^^^ order by 1 desc at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:268) at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:135) at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48) at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:85) at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:605) at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111) at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:605) ... 51 elided {code} > Support nested grouping sets > ---------------------------- > > Key: SPARK-29700 > URL: https://issues.apache.org/jira/browse/SPARK-29700 > Project: Spark > Issue Type: Sub-task > Components: SQL > Affects Versions: 3.0.0 > Reporter: Takeshi Yamamuro > Priority: Major > > PgSQL can process nested grouping sets, but Spark cannot; > {code:java} > postgres=# create table gstest2 (a integer, b integer, c integer, d integer, > e integer, f integer, g integer, h integer); > postgres=# insert into gstest2 values > postgres-# (1, 1, 1, 1, 1, 1, 1, 1), > postgres-# (1, 1, 1, 1, 1, 1, 1, 2), > postgres-# (1, 1, 1, 1, 1, 1, 2, 2), > postgres-# (1, 1, 1, 1, 1, 2, 2, 2), > postgres-# (1, 1, 1, 1, 2, 2, 2, 2), > postgres-# (1, 1, 1, 2, 2, 2, 2, 2), > postgres-# (1, 1, 2, 2, 2, 2, 2, 2), > postgres-# (1, 2, 2, 2, 2, 2, 2, 2), > postgres-# (2, 2, 2, 2, 2, 2, 2, 2); > INSERT 0 9 > postgres=# select sum(c) from gstest2 > postgres-# group by grouping sets(grouping sets((a, b))) > postgres-# order by 1 desc; > sum > ----- > 16 > 4 > 4 > (3 rows) > {code} > {code:java} > scala> sql(""" > | select sum(c) from gstest2 > | group by grouping sets(grouping sets((a, b))) > | order by 1 desc > | """).show > org.apache.spark.sql.catalyst.parser.ParseException: > mismatched input 'sets' expecting {')', ','}(line 3, pos 34) > == SQL == > select sum(c) from gstest2 > group by grouping sets(grouping sets((a, b))) > ----------------------------------^^^ > order by 1 desc > at > org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:268) > at > org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:135) > at > org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48) > at > org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:85) > at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:605) > at > org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111) > at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:605) > ... 51 elided > {code} > See a doc for the form: > https://www.postgresql.org/docs/current/sql-select.html -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org