You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/07/24 01:33:04 UTC

[incubator-iotdb] branch master updated: add keyword

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new e4996e1  add keyword
e4996e1 is described below

commit e4996e147d30f5914413e839fa783284ca4f30af
Author: zhutianci <zh...@gmail.com>
AuthorDate: Thu Jul 23 20:20:52 2020 +0800

    add keyword
---
 .../org/apache/iotdb/db/qp/strategy/SqlBase.g4     | 192 +++++++++++++++++++++
 docs/UserGuide/Operation Manual/SQL Reference.md   |  15 --
 .../zh/UserGuide/Operation Manual/SQL Reference.md |  15 --
 .../iotdb/db/qp/plan/LogicalPlanSmallTest.java     |  15 ++
 4 files changed, 207 insertions(+), 30 deletions(-)

diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
index 7b9efd5..7a49244 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
@@ -382,6 +382,102 @@ nodeName
     | MINUS? EXPONENT
     | MINUS? INT
     | booleanClause
+    | CREATE
+    | INSERT
+    | UPDATE
+    | DELETE
+    | SELECT
+    | SHOW
+    | GRANT
+    | INTO
+    | SET
+    | WHERE
+    | FROM
+    | TO
+    | BY
+    | DEVICE
+    | CONFIGURATION
+    | DESCRIBE
+    | SLIMIT
+    | LIMIT
+    | UNLINK
+    | OFFSET
+    | SOFFSET
+    | FILL
+    | LINEAR
+    | PREVIOUS
+    | PREVIOUSUNTILLAST
+    | METADATA
+    | TIMESERIES
+    | TIMESTAMP
+    | PROPERTY
+    | WITH
+    | DATATYPE
+    | COMPRESSOR
+    | STORAGE
+    | GROUP
+    | LABEL
+    | ADD
+    | UPSERT
+    | VALUES
+    | NOW
+    | LINK
+    | INDEX
+    | USING
+    | ON
+    | DROP
+    | MERGE
+    | LIST
+    | USER
+    | PRIVILEGES
+    | ROLE
+    | ALL
+    | OF
+    | ALTER
+    | PASSWORD
+    | REVOKE
+    | LOAD
+    | WATERMARK_EMBEDDING
+    | UNSET
+    | TTL
+    | FLUSH
+    | TASK
+    | INFO
+    | DYNAMIC
+    | PARAMETER
+    | VERSION
+    | REMOVE
+    | MOVE
+    | CHILD
+    | PATHS
+    | DEVICES
+    | COUNT
+    | NODES
+    | LEVEL
+    | MIN_TIME
+    | MAX_TIME
+    | MIN_VALUE
+    | MAX_VALUE
+    | AVG
+    | FIRST_VALUE
+    | SUM
+    | LAST_VALUE
+    | LAST
+    | DISABLE
+    | ALIGN
+    | COMPRESSION
+    | TIME
+    | ATTRIBUTES
+    | TAGS
+    | RENAME
+    | FULL
+    | CLEAR
+    | CACHE
+    | SNAPSHOT
+    | FOR
+    | SCHEMA
+    | TRACING
+    | OFF
     | (ID | OPERATOR_IN)? LS_BRACKET ID? RS_BRACKET ID?
     | compressor
     ;
@@ -396,6 +492,102 @@ nodeNameWithoutStar
     | MINUS? EXPONENT
     | MINUS? INT
     | booleanClause
+    | CREATE
+    | INSERT
+    | UPDATE
+    | DELETE
+    | SELECT
+    | SHOW
+    | GRANT
+    | INTO
+    | SET
+    | WHERE
+    | FROM
+    | TO
+    | BY
+    | DEVICE
+    | CONFIGURATION
+    | DESCRIBE
+    | SLIMIT
+    | LIMIT
+    | UNLINK
+    | OFFSET
+    | SOFFSET
+    | FILL
+    | LINEAR
+    | PREVIOUS
+    | PREVIOUSUNTILLAST
+    | METADATA
+    | TIMESERIES
+    | TIMESTAMP
+    | PROPERTY
+    | WITH
+    | DATATYPE
+    | COMPRESSOR
+    | STORAGE
+    | GROUP
+    | LABEL
+    | ADD
+    | UPSERT
+    | VALUES
+    | NOW
+    | LINK
+    | INDEX
+    | USING
+    | ON
+    | DROP
+    | MERGE
+    | LIST
+    | USER
+    | PRIVILEGES
+    | ROLE
+    | ALL
+    | OF
+    | ALTER
+    | PASSWORD
+    | REVOKE
+    | LOAD
+    | WATERMARK_EMBEDDING
+    | UNSET
+    | TTL
+    | FLUSH
+    | TASK
+    | INFO
+    | DYNAMIC
+    | PARAMETER
+    | VERSION
+    | REMOVE
+    | MOVE
+    | CHILD
+    | PATHS
+    | DEVICES
+    | COUNT
+    | NODES
+    | LEVEL
+    | MIN_TIME
+    | MAX_TIME
+    | MIN_VALUE
+    | MAX_VALUE
+    | AVG
+    | FIRST_VALUE
+    | SUM
+    | LAST_VALUE
+    | LAST
+    | DISABLE
+    | ALIGN
+    | COMPRESSION
+    | TIME
+    | ATTRIBUTES
+    | TAGS
+    | RENAME
+    | FULL
+    | CLEAR
+    | CACHE
+    | SNAPSHOT
+    | FOR
+    | SCHEMA
+    | TRACING
+    | OFF
     | (ID | OPERATOR_IN)? LS_BRACKET ID? RS_BRACKET ID?
     | compressor
     ;
diff --git a/docs/UserGuide/Operation Manual/SQL Reference.md b/docs/UserGuide/Operation Manual/SQL Reference.md
index fb50f84..5311933 100644
--- a/docs/UserGuide/Operation Manual/SQL Reference.md	
+++ b/docs/UserGuide/Operation Manual/SQL Reference.md	
@@ -30,21 +30,6 @@ In this part, we will introduce you IoTDB's Query Language. IoTDB offers you a S
 
 All of these statements are write in IoTDB's own syntax, for details about the syntax composition, please check the `Reference` section.
 
-## Keywords
-
-Do not use the following keywords as identifiers. You can open an [issue](https://issues.apache.org/jira/projects/IOTDB/issues) to provide new requirements or suggestions. 
-
-```
-CREATE, INSERT, UPDATE, DELETE, SELECT, SHOW, GRANT, INTO, SET, WHERE, FROM, TO, BY, DEVICE,
-CONFIGURATION, DESCRIBE, SLIMIT, LIMIT, UNLINK, OFFSET, SOFFSET, FILL, LINEAR, PREVIOUS, PREVIOUSUNTILLAST,
-METADATA, TIMESERIES, TIMESTAMP, PROPERTY, WITH, ROOT, DATATYPE, COMPRESSOR, STORAGE, GROUP, LABEL, ADD,
-UPSERT, VALUES, NOW, LINK, INDEX, USING, ON, DROP, MERGE, LIST, USER, PRIVILEGES, ROLE, ALL, OF,
-ALTER, PASSWORD, REVOKE, LOAD, WATERMARK_EMBEDDING, UNSET, TTL, FLUSH, TASK, INFO, DYNAMIC, PARAMETER, VERSION,
-REMOVE, MOVE, CHILD, PATHS, DEVICES, COUNT, NODES, LEVEL, MIN_TIME, MAX_TIME, MIN_VALUE, MAX_VALUE, AVG, FIRST_VALUE,
-SUM, LAST_VALUE, LAST, DISABLE, ALIGN, COMPRESSION, TIME, ATTRIBUTES, TAGS,RENAME, FULL, CLEAR, CACHE,
-SNAPSHOT, FOR, SCHEMA, TRACING, OFF
-```
-
 ## Show Version
 
 ```sql
diff --git a/docs/zh/UserGuide/Operation Manual/SQL Reference.md b/docs/zh/UserGuide/Operation Manual/SQL Reference.md
index f3a1ad8..ad638a7 100644
--- a/docs/zh/UserGuide/Operation Manual/SQL Reference.md	
+++ b/docs/zh/UserGuide/Operation Manual/SQL Reference.md	
@@ -21,21 +21,6 @@
 
 # SQL 参考文档
 
-## 关键字
-
-不要使用这些关键字作为标识符。如果有需求或者建议,可以在[issue](https://issues.apache.org/jira/projects/IOTDB/issues)上提出。
-
-```
-CREATE, INSERT, UPDATE, DELETE, SELECT, SHOW, GRANT, INTO, SET, WHERE, FROM, TO, BY, DEVICE,
-CONFIGURATION, DESCRIBE, SLIMIT, LIMIT, UNLINK, OFFSET, SOFFSET, FILL, LINEAR, PREVIOUS, PREVIOUSUNTILLAST,
-METADATA, TIMESERIES, TIMESTAMP, PROPERTY, WITH, ROOT, DATATYPE, COMPRESSOR, STORAGE, GROUP, LABEL, ADD,
-UPSERT, VALUES, NOW, LINK, INDEX, USING, ON, DROP, MERGE, LIST, USER, PRIVILEGES, ROLE, ALL, OF,
-ALTER, PASSWORD, REVOKE, LOAD, WATERMARK_EMBEDDING, UNSET, TTL, FLUSH, TASK, INFO, DYNAMIC, PARAMETER, VERSION,
-REMOVE, MOVE, CHILD, PATHS, DEVICES, COUNT, NODES, LEVEL, MIN_TIME, MAX_TIME, MIN_VALUE, MAX_VALUE, AVG, FIRST_VALUE,
-SUM, LAST_VALUE, LAST, DISABLE, ALIGN, COMPRESSION, TIME, ATTRIBUTES, TAGS,RENAME, FULL, CLEAR, CACHE,
-SNAPSHOT, FOR, SCHEMA, TRACING, OFF
-```
-
 ## 显示版本号
 
 ```sql
diff --git a/server/src/test/java/org/apache/iotdb/db/qp/plan/LogicalPlanSmallTest.java b/server/src/test/java/org/apache/iotdb/db/qp/plan/LogicalPlanSmallTest.java
index 914f078..2c724bd 100644
--- a/server/src/test/java/org/apache/iotdb/db/qp/plan/LogicalPlanSmallTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/qp/plan/LogicalPlanSmallTest.java
@@ -240,6 +240,21 @@ public class LogicalPlanSmallTest {
   }
 
   @Test
+  public void testKeyWordSQL() {
+    String sql = "delete from ROOT.CREATE.INSERT.UPDATE.DELETE.SELECT.SHOW.GRANT.INTO.SET.WHERE.FROM.TO.BY.DEVICE."
+        + "CONFIGURATION.DESCRIBE.SLIMIT.LIMIT.UNLINK.OFFSET.SOFFSET.FILL.LINEAR.PREVIOUS.PREVIOUSUNTILLAST."
+        + "METADATA.TIMESERIES.TIMESTAMP.PROPERTY.WITH.DATATYPE.COMPRESSOR.STORAGE.GROUP.LABEL.ADD."
+        + "UPSERT.VALUES.NOW.LINK.INDEX.USING.ON.DROP.MERGE.LIST.USER.PRIVILEGES.ROLE.ALL.OF."
+        + "ALTER.PASSWORD.REVOKE.LOAD.WATERMARK_EMBEDDING.UNSET.TTL.FLUSH.TASK.INFO.DYNAMIC.PARAMETER.VERSION."
+        + "REMOVE.MOVE.CHILD.PATHS.DEVICES.COUNT.NODES.LEVEL.MIN_TIME.MAX_TIME.MIN_VALUE.MAX_VALUE.AVG."
+        + "FIRST_VALUE.SUM.LAST_VALUE.LAST.DISABLE.ALIGN.COMPRESSION.TIME.ATTRIBUTES.TAGS.RENAME.FULL.CLEAR.CACHE."
+        + "SNAPSHOT.FOR.SCHEMA.TRACING.OFF where time>=1 and time < 3";
+
+    Operator op = parseDriver.parse(sql, IoTDBDescriptor.getInstance().getConfig().getZoneID());
+    Assert.assertEquals(DeleteDataOperator.class, op.getClass());
+  }
+
+  @Test
   public void testRangeDelete() {
     String sql1 = "delete from root.d1.s1 where time>=1 and time < 3";
     Operator op = parseDriver.parse(sql1, IoTDBDescriptor.getInstance().getConfig().getZoneID());