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

Julian Hyde commented on CALCITE-3152:
--------------------------------------

Nice work - thanks for doing this.

I don't see a test for the new InvalidLiteral message. Did one already exist? 
If not can you add one or two.

In one place you have two SQL statements, one with carets (for error 
positions), one without. FYI, you can use the 
{{SqlParserTest.Sql.sansCarets()}} method for this.

> Unify throws in sql parser
> --------------------------
>
>                 Key: CALCITE-3152
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3152
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.20.0
>            Reporter: Danny Chan
>            Assignee: Danny Chan
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.21.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Copied from DEV mail,
> Now our parser has 3 kinds of throws behavior:
>  
>  [1] Use JavaCC generateParseException
>  [2] Use SqlUtil.newContextException
>  [3] Use JavaCC ParseExecption directly
>  
>  For [1] and [2] there is a position info in the exception message, a throw 
> may like:
> {code:java}
> From line 1, column 15 to line 1, column 26:
> {code}
> But for 3, we only have the error message without position info, which is not 
> that user friendly when the sql text is huge (there are 10 occurance for 3 in 
> our parser). So shall we unify them ? E.G. Use only 1 and 2 is enough for all 
> the cases, the 2 can totally replace 3.
>  
>  [1] 
> [https://github.com/apache/calcite/blob/69c8053cd98ec65c55fa1c3b282b076536ab758f/core/src/main/codegen/templates/Parser.jj#L4494]
>  [2] 
> [https://github.com/apache/calcite/blob/69c8053cd98ec65c55fa1c3b282b076536ab758f/core/src/main/codegen/templates/Parser.jj#L386]
>  [3] 
> [https://github.com/apache/calcite/blob/69c8053cd98ec65c55fa1c3b282b076536ab758f/core/src/main/codegen/templates/Parser.jj#L601]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to