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

rong pushed a commit to branch select-into
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 862afe4b6e1d308b4611b1a5a88287ef4a3fd832
Author: Steve Yurong Su <[email protected]>
AuthorDate: Tue Jul 13 09:41:40 2021 +0800

    antlr grammer for select into
---
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   | 45 ++++++++++++----------
 1 file changed, 25 insertions(+), 20 deletions(-)

diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 
b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
index 41235f4..cdffba1 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
@@ -105,6 +105,7 @@ statement
     | STOP TRIGGER triggerName=ID #stopTrigger
     | SHOW TRIGGERS #showTriggers
     | selectClause fromClause whereClause? specialClause? #selectStatement
+    | selectClause intoClause fromClause whereClause? specialClause? 
#selectIntoStatement
     | CREATE (CONTINUOUS QUERY | CQ) continuousQueryName=ID
       resampleClause?
       cqSelectIntoClause #createContinuousQueryStatement
@@ -113,26 +114,30 @@ statement
     ;
 
 selectClause
-   : SELECT (LAST | topClause)? resultColumn (COMMA resultColumn)*
-   ;
+    : SELECT (LAST | topClause)? resultColumn (COMMA resultColumn)*
+    ;
 
 resultColumn
-   : expression (AS ID)?
-   ;
+    : expression (AS ID)?
+    ;
 
 expression
-   : LR_BRACKET unary=expression RR_BRACKET
-   | (PLUS | MINUS) unary=expression
-   | leftExpression=expression (STAR | DIV | MOD) rightExpression=expression
-   | leftExpression=expression (PLUS | MINUS) rightExpression=expression
-   | functionName=suffixPath LR_BRACKET expression (COMMA expression)* 
functionAttribute* RR_BRACKET
-   | suffixPath
-   | literal=SINGLE_QUOTE_STRING_LITERAL
-   ;
+    : LR_BRACKET unary=expression RR_BRACKET
+    | (PLUS | MINUS) unary=expression
+    | leftExpression=expression (STAR | DIV | MOD) rightExpression=expression
+    | leftExpression=expression (PLUS | MINUS) rightExpression=expression
+    | functionName=suffixPath LR_BRACKET expression (COMMA expression)* 
functionAttribute* RR_BRACKET
+    | suffixPath
+    | literal=SINGLE_QUOTE_STRING_LITERAL
+    ;
 
 functionAttribute
-   : COMMA functionAttributeKey=stringLiteral OPERATOR_EQ 
functionAttributeValue=stringLiteral
-   ;
+    : COMMA functionAttributeKey=stringLiteral OPERATOR_EQ 
functionAttributeValue=stringLiteral
+    ;
+
+intoClause
+    : INTO intoPath (COMMA intoPath)*
+    ;
 
 alias
     : LR_BRACKET ID RR_BRACKET
@@ -338,12 +343,12 @@ resampleClause
     : RESAMPLE (EVERY DURATION)? (FOR DURATION)?;
 
 cqSelectIntoClause
-    : BEGIN
-    selectClause
-    INTO (fullPath | nodeNameWithoutStar)
-    fromClause
-    cqGroupByTimeClause
-    END
+    : BEGIN selectClause INTO intoPath fromClause cqGroupByTimeClause END
+    ;
+
+intoPath
+    : fullPath
+    | nodeNameWithoutStar
     ;
 
 cqGroupByTimeClause

Reply via email to