[
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)