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

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


The following commit(s) were added to refs/heads/master by this push:
     new 7a1f530acac update tokens in IdentifierParser
7a1f530acac is described below

commit 7a1f530acac28e85128e1c975bc66b9a7ff70a32
Author: Liao Lanyu <[email protected]>
AuthorDate: Thu Jul 13 09:12:17 2023 +0800

    update tokens in IdentifierParser
---
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java     | 12 ++++++++++++
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4   |  4 ++++
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4     | 20 ++++++++++++++++----
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4    | 18 ++++++++++++------
 .../iotdb/db/queryengine/plan/parser/ASTVisitor.java |  2 +-
 5 files changed, 45 insertions(+), 11 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
index 2dac13668aa..54cde136ec8 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
@@ -145,6 +145,9 @@ public class IoTDBSyntaxConventionIdentifierIT {
     String[] createNodeNames = {
       "a_1",
       "aaa",
+      "in",
+      "between",
+      "is",
       "`select`",
       "`a.b`",
       "`111`",
@@ -172,6 +175,9 @@ public class IoTDBSyntaxConventionIdentifierIT {
     String[] resultTimeseries = {
       "root.sg1.d1.a_1",
       "root.sg1.d1.aaa",
+      "root.sg1.d1.in",
+      "root.sg1.d1.between",
+      "root.sg1.d1.is",
       "root.sg1.d1.select",
       "root.sg1.d1.`a.b`",
       "root.sg1.d1.`111`",
@@ -199,6 +205,9 @@ public class IoTDBSyntaxConventionIdentifierIT {
     String[] selectNodeNames = {
       "a_1",
       "aaa",
+      "in",
+      "between",
+      "is",
       "`select`",
       "`a.b`",
       "`111`",
@@ -226,6 +235,9 @@ public class IoTDBSyntaxConventionIdentifierIT {
     String[] suffixInResultColumns = {
       "a_1",
       "aaa",
+      "in",
+      "between",
+      "is",
       "select",
       "`a.b`",
       "`111`",
diff --git 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IdentifierParser.g4
 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IdentifierParser.g4
index c9e5a54a8e3..896165c40b1 100644
--- 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IdentifierParser.g4
+++ 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IdentifierParser.g4
@@ -48,6 +48,7 @@ keyWords
     | AUTO
     | BEFORE
     | BEGIN
+    | BETWEEN
     | BLOCKED
     | BOUNDARY
     | BY
@@ -107,10 +108,12 @@ keyWords
     | GRANT
     | GROUP
     | HAVING
+    | IN
     | INDEX
     | INFO
     | INSERT
     | INTO
+    | IS
     | KILL
     | LABEL
     | LAST
@@ -204,6 +207,7 @@ keyWords
     | TAGS
     | TASK
     | TEMPLATE
+    | TEMPLATES
     | THEN
     | THROTTLE
     | TIMEOUT
diff --git 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
index e076489c2ea..c9d66ee181e 100644
--- 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
+++ 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
@@ -274,7 +274,7 @@ showSchemaTemplates
 
 // ---- Show Measurements In Schema Template
 showNodesInSchemaTemplate
-    : SHOW NODES OPERATOR_IN SCHEMA TEMPLATE templateName=identifier
+    : SHOW NODES operator_in SCHEMA TEMPLATE templateName=identifier
     ;
 
 // ---- Show Paths Set Schema Template
@@ -1146,9 +1146,9 @@ expression
     | leftExpression=expression (PLUS | MINUS) rightExpression=expression
     | leftExpression=expression (OPERATOR_GT | OPERATOR_GTE | OPERATOR_LT | 
OPERATOR_LTE | OPERATOR_SEQ | OPERATOR_DEQ | OPERATOR_NEQ) 
rightExpression=expression
     | unaryBeforeRegularOrLikeExpression=expression operator_not? (REGEXP | 
LIKE) STRING_LITERAL
-    | firstExpression=expression operator_not? OPERATOR_BETWEEN 
secondExpression=expression operator_and thirdExpression=expression
-    | unaryBeforeIsNullExpression=expression OPERATOR_IS operator_not? 
null_literal
-    | unaryBeforeInExpression=expression operator_not? (OPERATOR_IN | 
operator_contains) LR_BRACKET constant (COMMA constant)* RR_BRACKET
+    | firstExpression=expression operator_not? operator_between 
secondExpression=expression operator_and thirdExpression=expression
+    | unaryBeforeIsNullExpression=expression operator_is operator_not? 
null_literal
+    | unaryBeforeInExpression=expression operator_not? (operator_in | 
operator_contains) LR_BRACKET constant (COMMA constant)* RR_BRACKET
     | leftExpression=expression operator_and rightExpression=expression
     | leftExpression=expression operator_or rightExpression=expression
     ;
@@ -1199,6 +1199,18 @@ operator_contains
     : CONTAINS
     ;
     
+operator_between
+    : BETWEEN
+    ;
+    
+operator_is
+    : IS
+    ;
+    
+operator_in
+    : IN
+    ;
+    
 null_literal
     : NULL
     ;
diff --git 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4
index 4ab2ffbc495..0d66cbc8033 100644
--- a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4
+++ b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4
@@ -109,6 +109,10 @@ BEGIN
     : B E G I N
     ;
 
+BETWEEN
+    : B E T W E E N
+    ;
+
 BLOCKED
     : B L O C K E D
     ;
@@ -334,6 +338,10 @@ HAVING
     : H A V I N G
     ;
 
+IN
+    : I N
+    ;
+
 INDEX
     : I N D E X
     ;
@@ -350,6 +358,10 @@ INTO
     : I N T O
     ;
 
+IS
+    : I S
+    ;
+
 KILL
     : K I L L
     ;
@@ -1001,12 +1013,6 @@ OPERATOR_LT : '<';
 OPERATOR_LTE : '<=';
 OPERATOR_NEQ : '!=' | '<>';
 
-OPERATOR_BETWEEN : B E T W E E N;
-
-OPERATOR_IS : I S;
-
-OPERATOR_IN : I N;
-
 OPERATOR_BITWISE_AND : '&';
 
 OPERATOR_LOGICAL_AND : '&&';
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
index 6eef6e61832..e3b27b0402e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
@@ -2648,7 +2648,7 @@ public class ASTVisitor extends 
IoTDBSqlParserBaseVisitor<Statement> {
       Expression secondExpression = parseExpression(context.secondExpression, 
canUseFullPath);
       Expression thirdExpression = parseExpression(context.thirdExpression, 
canUseFullPath);
 
-      if (context.OPERATOR_BETWEEN() != null) {
+      if (context.operator_between() != null) {
         return new BetweenExpression(
             firstExpression, secondExpression, thirdExpression, 
context.operator_not() != null);
       }

Reply via email to