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 <[email protected]> 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());
