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