You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Jeff Evans (Jira)" <ji...@apache.org> on 2019/10/03 21:35:00 UTC

[jira] [Commented] (SPARK-27903) Improve parser error message for mismatched parentheses in expressions

    [ https://issues.apache.org/jira/browse/SPARK-27903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944041#comment-16944041 ] 

Jeff Evans commented on SPARK-27903:
------------------------------------

I've been spending some time playing around with the grammar, and I'm not sure this is possible in the general case.  It should be easy enough to handle the case outlined in this Jira (I have a working change for that), but an "extra" right parenthesis is much more challenging due to the way ANTLR works, and the way the grammar is written.

> Improve parser error message for mismatched parentheses in expressions
> ----------------------------------------------------------------------
>
>                 Key: SPARK-27903
>                 URL: https://issues.apache.org/jira/browse/SPARK-27903
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Yesheng Ma
>            Priority: Major
>
> When parentheses are mismatched in expressions in queries, the error message is confusing. This is especially true for large queries, where mismatched parens are tedious for human to figure out. 
> For example, the error message for 
> {code:sql} 
> SELECT ((x + y) * z FROM t; 
> {code} 
> is 
> {code:java} 
> mismatched input 'FROM' expecting ','(line 1, pos 20) 
> {code} 
> One possible way to fix is to explicitly capture such kind of mismatched parens in a grammar rule and print user-friendly error message such as 
> {code:java} 
> mismatched parentheses for expression 'SELECT ((x + y) * z FROM t;'(line 1, pos 20) 
> {code} 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org