[ https://issues.apache.org/jira/browse/CALCITE-3152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Danny Chan resolved CALCITE-3152. --------------------------------- Resolution: Fixed Fixed in [65d973b|https://github.com/apache/calcite/commit/65d973b5ef0d5236021e0e265e85eccff10209bb] ! > 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)