You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Jianhui Dong (Jira)" <ji...@apache.org> on 2021/12/13 07:32:00 UTC
[jira] [Created] (FLINK-25272) Flink sql syntax analysis is inconsistent with the sql grammer declared now
Jianhui Dong created FLINK-25272:
------------------------------------
Summary: Flink sql syntax analysis is inconsistent with the sql grammer declared now
Key: FLINK-25272
URL: https://issues.apache.org/jira/browse/FLINK-25272
Project: Flink
Issue Type: Improvement
Components: Table SQL / API
Reporter: Jianhui Dong
Syntax analysis in the code(https://github.com/apache/flink/blob/master/flink-table/flink-sql-parser/src/main/codegen/includes/parserImpls.ftl) is inconsistent with the grammar declared on the module(https://github.com/apache/flink/edit/master/docs/content/docs/dev/table/sql/create.md).
The document states that all CREATE statement formats are `CREATE TABLE [IF NOT EXISTS]`, there is no `TEMPORAL` keywords, but in flink-sql-parser/src/main/codegen/includes/parserImpls.ftl::SqlCreateExtended, it will recorganize `TEMPORAL` token and set `isTemporary` with true if the keyword exists.
Besides, I think the field `isTemporary` is outdated too, every table in Flink is temporal table as the document wrote. In fact, when they are stored in the catalog, they are all converted to `CatalogSchemaTable` which inherits the `TemporalTable` interface.
BTW, the view and the function has the same condition. IMO, I think we should remove the `TEMPORAL` token in parserImpls.ftl and also remove the `isTemporary` field which now always is false.
This issue may be a little confused cause my English is not very well. If you have any questions, you can add comments under the issue or contact me with lam167@apache.org.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)