This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch iotdb-1022-v2 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c1ff734ff57e9c31eaff813043b2e7d9e37904ac Author: SteveYurongSu <[email protected]> AuthorDate: Fri May 14 19:54:02 2021 +0800 fix checkAggregation --- .../org/apache/iotdb/db/qp/strategy/LogicalChecker.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalChecker.java b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalChecker.java index b5a4202..cec031c 100644 --- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalChecker.java +++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalChecker.java @@ -24,6 +24,9 @@ import org.apache.iotdb.db.metadata.PartialPath; import org.apache.iotdb.db.qp.logical.Operator; import org.apache.iotdb.db.qp.logical.crud.QueryOperator; import org.apache.iotdb.db.qp.logical.crud.SelectOperator; +import org.apache.iotdb.db.query.expression.Expression; +import org.apache.iotdb.db.query.expression.ResultColumn; +import org.apache.iotdb.db.query.expression.unary.TimeSeriesOperand; public class LogicalChecker { @@ -51,10 +54,15 @@ public class LogicalChecker { private static void checkAggregation(QueryOperator queryOperator) throws LogicalOperatorException { SelectOperator selectOperator = queryOperator.getSelectOperator(); - if (!selectOperator.getResultColumns().isEmpty() - && selectOperator.getPaths().size() != selectOperator.getAggregationFunctions().size()) { - throw new LogicalOperatorException( - "Common queries and aggregated queries are not allowed to appear at the same time"); + if (!selectOperator.hasAggregationFunction()) { + return; + } + for (ResultColumn resultColumn : selectOperator.getResultColumns()) { + Expression expression = resultColumn.getExpression(); + if (expression instanceof TimeSeriesOperand) { + throw new LogicalOperatorException( + "Common queries and aggregated queries are not allowed to appear at the same time"); + } } }
