[
https://issues.apache.org/jira/browse/CALCITE-3152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-3152:
------------------------------------
Labels: pull-request-available (was: )
> 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
>
>
> 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)