You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2018/11/02 02:18:00 UTC

[jira] [Resolved] (CALCITE-2405) In Babel parser: allow to use some reserved keyword as identifier

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