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."));
     }
   }
 

Reply via email to