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

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

commit 4528ad021ecd175702bd587f2ba83093e3e5f25b
Author: Steve Yurong Su <[email protected]>
AuthorDate: Fri Sep 17 10:53:44 2021 +0800

    fix function name parsing errors
---
 antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4        | 7 ++++++-
 .../src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java  | 4 ++--
 2 files changed, 8 insertions(+), 3 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 d0d4185..e55645c 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
@@ -128,11 +128,16 @@ expression
     | (PLUS | MINUS) unaryAfterSign=expression
     | leftExpression=expression (STAR | DIV | MOD) rightExpression=expression
     | leftExpression=expression (PLUS | MINUS) rightExpression=expression
-    | functionName=ID LR_BRACKET expression (COMMA expression)* 
functionAttribute* RR_BRACKET
+    | functionName LR_BRACKET expression (COMMA expression)* 
functionAttribute* RR_BRACKET
     | suffixPath
     | literal=SINGLE_QUOTE_STRING_LITERAL
     ;
 
+functionName
+    : ID
+    | COUNT
+    ;
+
 functionAttribute
     : COMMA functionAttributeKey=stringLiteral OPERATOR_EQ 
functionAttributeValue=stringLiteral
     ;
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java 
b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index 5e611ff..92a9629 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -1368,7 +1368,7 @@ public class IoTDBSqlVisitor extends 
SqlBaseBaseVisitor<Operator> {
 
     // functionName=suffixPath LR_BRACKET expression (COMMA expression)* 
functionAttribute*
     // RR_BRACKET
-    if (context.functionName != null) {
+    if (context.functionName() != null) {
       return parseFunctionExpression(context);
     }
 
@@ -1387,7 +1387,7 @@ public class IoTDBSqlVisitor extends 
SqlBaseBaseVisitor<Operator> {
 
   private Expression parseFunctionExpression(ExpressionContext functionClause) 
{
     FunctionExpression functionExpression =
-        new FunctionExpression(functionClause.functionName.getText());
+        new FunctionExpression(functionClause.functionName().getText());
 
     // expressions
     for (ExpressionContext expression : functionClause.expression()) {

Reply via email to