[ https://issues.apache.org/jira/browse/CALCITE-3152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16877435#comment-16877435 ]
Danny Chan commented on CALCITE-3152: ------------------------------------- Thanks, i have fired another issue CALCITE-3168, and will merge it when the tests passed. > 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)