You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Josh Rosen (JIRA)" <ji...@apache.org> on 2017/05/30 00:50:04 UTC
[jira] [Commented] (SPARK-20916) Regression in parsing of anonymous
subqueries in FROM clause
[ https://issues.apache.org/jira/browse/SPARK-20916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16028685#comment-16028685 ]
Josh Rosen commented on SPARK-20916:
------------------------------------
It looks like this was caused by SPARK-20690 which changed the parser to reject unaliased subqueries in the FROM clause. However, the error message that we now give isn't very helpful. I think that we should modify the parser to throw a more clear error for such queries so that it's more clear to end users that this is a behavior change rather than a bug. /cc [~viirya] [~hvanhovell] [~smilegator]
> Regression in parsing of anonymous subqueries in FROM clause
> ------------------------------------------------------------
>
> Key: SPARK-20916
> URL: https://issues.apache.org/jira/browse/SPARK-20916
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 2.3.0
> Reporter: Josh Rosen
> Priority: Blocker
>
> The following query parses in branch-2.2, but doesn't parse correctly as of today's master:
> {code}
> SELECT x FROM (SELECT 1 AS x)
> {code}
> It still parses if you name the subquery in the FROM clause:
> {code}
> SELECT x FROM (SELECT 1 AS x) t
> {code}
> In master, this gives the following error:
> {code}
> scala> sql("""SELECT x FROM (SELECT 1 AS x)""")
> org.apache.spark.sql.catalyst.parser.ParseException:
> mismatched input 'FROM' expecting {<EOF>, 'WHERE', 'GROUP', 'ORDER', 'HAVING', 'LIMIT', 'LATERAL', 'WINDOW', 'UNION', 'EXCEPT', 'MINUS', 'INTERSECT', 'SORT', 'CLUSTER', 'DISTRIBUTE'}(line 1, pos 9)
> == SQL ==
> SELECT x FROM (SELECT 1 AS x)
> ---------^^^
> at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:217)
> at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:114)
> at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
> at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:68)
> at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:623)
> ... 48 elided
> {code}
> We should fix this and add better test cases for the parser to cover more of our supported SELECT syntax.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org