[ https://issues.apache.org/jira/browse/SPARK-38385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wenchen Fan resolved SPARK-38385. --------------------------------- Fix Version/s: 3.3.0 Resolution: Fixed Issue resolved by pull request 35707 [https://github.com/apache/spark/pull/35707] > Improve error messages of 'mismatched input' cases from ANTLR > ------------------------------------------------------------- > > Key: SPARK-38385 > URL: https://issues.apache.org/jira/browse/SPARK-38385 > Project: Spark > Issue Type: Sub-task > Components: SQL > Affects Versions: 3.3.0 > Reporter: Xinyi Yu > Assignee: Xinyi Yu > Priority: Major > Fix For: 3.3.0 > > > Please view the parent task description for the general idea: > https://issues.apache.org/jira/browse/SPARK-38384 > h1. Mismatched Input > h2. Case 1 > Before > {code:java} > ParseException: > mismatched input 'sel' expecting {'(', 'APPLY', 'CONVERT', 'COPY', > 'OPTIMIZE', 'RESTORE', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', > 'COMMENT', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', > 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', > 'LOCK', 'MAP', 'MERGE', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', > 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'SYNC', 'TABLE', > 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, > pos 0) > == SQL == > sel 1 > ^^^ {code} > After > {code:java} > ParseException: > syntax error at or near 'sel'(line 1, pos 0) > == SQL == > sel 1 > ^^^ {code} > Changes: > # Adjust the words, from ‘mismatched input {}’ to more readable one, ‘syntax > error at or near {}.’. This also aligns with the PostgreSQL error messages. > # Remove the expecting full list. > h2. Case 2 > Before > {code:java} > ParseException: > mismatched input '<EOF>' expecting {'(', 'CONVERT', 'COPY', 'OPTIMIZE', > 'RESTORE', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMENT', 'COMMIT', > 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', > 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MERGE', > 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', > 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', > 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) > == SQL == > ^^^ {code} > After > {code:java} > ParseException: > syntax error, unexpected empty SQL statement(line 1, pos 0) > == SQL == > ^^^{code} > Changes: > # For empty query, output a specific error message ‘syntax error, unexpected > empty SQL statement’ > h2. Case 3 > Before > {code:java} > ParseException: > mismatched input '<EOF>' expecting {'APPLY', 'CALLED', 'CHANGES', 'CLONE', > 'COLLECT', 'CONTAINS', 'CONVERT', 'COPY', 'COPY_OPTIONS', 'CREDENTIAL', > 'CREDENTIALS', 'DEEP', 'DEFINER', 'DELTA', 'DETERMINISTIC', 'ENCRYPTION', > 'EXPECT', 'FAIL', 'FILES',… (omit long message) 'TRIM', 'TRUE', 'TRUNCATE', > 'TRY_CAST', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', > 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', > 'VERSION', 'VIEW', 'VIEWS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHIN', > 'YEAR', 'ZONE', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 11) > == SQL == > select 1 ( > -----------^^^ {code} > After > {code:java} > ParseException: > syntax error at or near end of input(line 1, pos 11) > == SQL == > select 1 ( > -----------^^^{code} > Changes: > # For the faulty token <EOF>, substitute it to a readable string ‘end of > input’. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org