This is an automated email from the ASF dual-hosted git repository. xiangweiwei pushed a commit to branch removeTokenType in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 656b2d86ebe0c78a5b0c3f8c76a5bd1a7cd98d06 Author: Alima777 <[email protected]> AuthorDate: Sun Jun 6 16:17:38 2021 +0800 Fix insert and udf bug: --- .../java/org/apache/iotdb/db/qp/logical/crud/InsertOperator.java | 2 +- .../src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 8 ++++---- .../org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/InsertOperator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/InsertOperator.java index 6d98b2e..b48995e 100644 --- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/InsertOperator.java +++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/InsertOperator.java @@ -100,7 +100,7 @@ public class InsertOperator extends Operator { insertRowsPlan.addOneInsertRowPlan( new InsertRowPlan( device, - times[0], + times[i], measurementList, Arrays.copyOfRange(valueList, i * measurementsNum, (i + 1) * measurementsNum)), i); 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 1481cab..af98df6 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 @@ -1032,17 +1032,15 @@ public class IoTDBSqlVisitor extends SqlBaseBaseVisitor<Operator> { queryOp = new LastQueryOperator(queryOp); } - boolean isFirstElement = true; for (ResultColumnContext resultColumnContext : ctx.resultColumn()) { selectComponent.addResultColumn(parseResultColumn(resultColumnContext)); // judge query type according to the first select element - if (!hasDecidedQueryType() && isFirstElement) { + if (!hasDecidedQueryType()) { if (selectComponent.hasAggregationFunction()) { queryOp = new AggregationQueryOperator(queryOp); } else if (selectComponent.hasTimeSeriesGeneratingFunction()) { queryOp = new UDFQueryOperator(queryOp); } - isFirstElement = false; } } @@ -1052,7 +1050,9 @@ public class IoTDBSqlVisitor extends SqlBaseBaseVisitor<Operator> { private boolean hasDecidedQueryType() { return queryOp instanceof GroupByQueryOperator || queryOp instanceof FillQueryOperator - || queryOp instanceof LastQueryOperator; + || queryOp instanceof LastQueryOperator + || queryOp instanceof AggregationQueryOperator + || queryOp instanceof UDFQueryOperator; } @Override diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java index 0710b24..7b63e9e 100644 --- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java +++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java @@ -120,7 +120,7 @@ public class IoTDBUDTFHybridQueryIT { assertTrue( throwable .getMessage() - .contains("User-defined and built-in hybrid aggregation is not supported.")); + .contains("User-defined and built-in hybrid aggregation is not supported together.")); } }
