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