You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ge...@apache.org on 2020/07/23 12:22:39 UTC

[incubator-iotdb] branch add_keyword created (now b0680ed)

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

geniuspig pushed a change to branch add_keyword
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.


      at b0680ed  add keyword

This branch includes the following new commits:

     new b0680ed  add keyword

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-iotdb] 01/01: add keyword

Posted by ge...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit b0680ed1e15df6dc059050be0adf52262f37d8a0
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());