[ https://issues.apache.org/jira/browse/CALCITE-4115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17154398#comment-17154398 ]
Danny Chen commented on CALCITE-4115: ------------------------------------- Finally i found it is hard to give a proper fix suggestion, because the reserved can be used in all kinds of invalid SQL contexts, keeping only the "Incorrect syntax near the keyword {keyword} at line {line_number}, column {column_number}." part still makes sense. > Improve the prompt of using SQL keywords for sql parser > ------------------------------------------------------- > > Key: CALCITE-4115 > URL: https://issues.apache.org/jira/browse/CALCITE-4115 > Project: Calcite > Issue Type: Improvement > Components: core > Affects Versions: 1.23.0 > Reporter: Danny Chen > Assignee: Danny Chen > Priority: Major > Fix For: 1.24.0 > > > Current when a user uses a reserved-keyword in the SQL, for example: > {code:sql} > select DEFAULT from emp; > {code} > the parser would report with error message: > {noformat} > Encountered "DEFAULT" at line 1, column 8. > Was expecting one of: > "ABS" ... > "ALL" ... > "ARRAY" ... > "AVG" ... > "CARDINALITY" ... > "CASE" ... > "CAST" ... > "CEIL" ... > "CEILING" ... > "CHAR_LENGTH" ... > "CHARACTER_LENGTH" ... > {noformat} > It is hard to infer that the DEFAULT is actually a reserved-keyword, we can > promote the message to make it more clear. > For example, in SQL-SERVER, if you use such a keyword, the server reports > "Incorrect syntax near the keyword 'DEFAULT'", which is very clear that the > DEFAULT is a keyword. > Based on the SQL-SERVER message, i would suggest to also report the position > with a suggested fix solution, the template is like this: > {code:java} > Incorrect syntax near the keyword {keyword} at line {line_number}, > column {column_number}.\n > Either uses a non-reserved keyword or quotes the keyword with > character: {quoting_character}. > {code} > We would tell user that the mistake is a keyword and its position, also how > to fix it. -- This message was sent by Atlassian Jira (v8.3.4#803005)