[
https://issues.apache.org/jira/browse/CALCITE-2405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde resolved CALCITE-2405.
----------------------------------
Resolution: Fixed
Fix Version/s: 1.18.0
Fixed in
[561c6427|http://git-wip-us.apache.org/repos/asf/calcite/commit/561c6427].
In Babel parser, I made 400 reserved keywords including YEAR, SECOND, DESC
non-reserved. The following remain reserved:
* Command words (e.g. SELECT, UPDATE, EXPLAIN, ALTER);
* SQL clause names (e.g. WHERE, ORDER, INNER but not BY);
* Keywords that start literals (DATE, TIME, TIMESTAMP, INTERVAL).
In Planner, use the parser's conformance.
Avoid javac {{StackOverflowError}} by splitting up the
{{NonReservedKeywords()}} parser method into several parts.
Compatibility warning: If you have created your own sub-parser you must copy
[[nonReservedKeywords|https://github.com/apache/calcite/blob/master/core/src/main/codegen/config.fmpp#L52]]
from core {{config.fmpp}} to your {{config.fmpp}}. Previously the core
non-reserved keywords were in a parser method {{CommonNonReservedKeywords()}},
but that method has been removed.
Upgrade freemarker to 2.3.28.
> In Babel parser: allow to use some reserved keyword as identifier
> -----------------------------------------------------------------
>
> Key: CALCITE-2405
> URL: https://issues.apache.org/jira/browse/CALCITE-2405
> Project: Calcite
> Issue Type: New Feature
> Components: babel
> Affects Versions: 1.17.0
> Reporter: Enrico Olivelli
> Assignee: Julian Hyde
> Priority: Major
> Fix For: 1.18.0
>
>
> I have some case of incompatibility between MySQL (actually on HerdDB which
> is a replacement for MySQL) and Calcite around reserved identifiers.
> * Allow a schema with name 'default'
> * Allow a column name with name 'value'
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)