[
https://issues.apache.org/jira/browse/CALCITE-4580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17322377#comment-17322377
]
Julian Hyde commented on CALCITE-4580:
--------------------------------------
You will want everything in the AST to be some sub-class of {{SqlNode}}.
Because every {{SqlNode}} has a position, and you will need the position to
emit good error messages. You can wrap an enum value as a {{SqlLiteral}}: see
{{SqlLiteral.createSymbol(Enum, SqlParserPos)}}.
> Change the visibility for SqlNode constructor
> ---------------------------------------------
>
> Key: CALCITE-4580
> URL: https://issues.apache.org/jira/browse/CALCITE-4580
> Project: Calcite
> Issue Type: Task
> Reporter: Konstantin Orlov
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Currently the constructor is package private. That forces developers
> extending the parser to put all custom nodes under {{org.apache.calcite.sql}}
> package (or at least create one abstract node {{MySqlNode}} extending
> {{SqlNode}} and exposing the constructor). It would nice to have the
> constructor exposed by {{SqlNode}} itself.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)