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

geniuspig pushed a commit to branch move_flush
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 964030b5cf14be825499197c573530e93e4a2b21
Author: zhutianci <[email protected]>
AuthorDate: Sat May 2 01:21:53 2020 +0800

    fix bugs.
---
 server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4  | 2 +-
 server/src/main/java/org/apache/iotdb/db/mqtt/PublishHandler.java  | 7 +++++--
 server/src/main/java/org/apache/iotdb/db/qp/Planner.java           | 2 ++
 .../main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java    | 1 +
 .../src/main/java/org/apache/iotdb/db/qp/logical/RootOperator.java | 1 -
 .../java/org/apache/iotdb/db/qp/logical/sys/MergeOperator.java     | 1 +
 .../src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java   | 2 +-
 7 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 
b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
index f21fbc1..e75f4d1 100644
--- a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
+++ b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
@@ -37,7 +37,7 @@ statement
     | CREATE INDEX ON fullPath USING function=ID indexWithClause? whereClause? 
#createIndex //not support yet
     | DROP INDEX function=ID ON fullPath #dropIndex //not support yet
     | MERGE #merge
-    | FLUSH (COMMA prefixPath)* (ID)?#flush //ID is true or false
+    | FLUSH prefixPath? (COMMA prefixPath)* (ID)?#flush //ID is true or false
     | FULL MERGE #fullMerge
     | CREATE USER userName=ID password=STRING_LITERAL #createUser
     | ALTER USER userName=(ROOT|ID) SET PASSWORD password=STRING_LITERAL 
#alterUser
diff --git a/server/src/main/java/org/apache/iotdb/db/mqtt/PublishHandler.java 
b/server/src/main/java/org/apache/iotdb/db/mqtt/PublishHandler.java
index 57cb3aa..fcbaef2 100644
--- a/server/src/main/java/org/apache/iotdb/db/mqtt/PublishHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/mqtt/PublishHandler.java
@@ -23,6 +23,8 @@ import io.netty.buffer.ByteBuf;
 import io.netty.handler.codec.mqtt.MqttQoS;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.exception.StorageEngineException;
+import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.qp.executor.IPlanExecutor;
 import org.apache.iotdb.db.qp.executor.PlanExecutor;
@@ -92,7 +94,7 @@ public class PublishHandler extends AbstractInterceptHandler {
             boolean status;
             try {
                 status = executeNonQuery(plan);
-            } catch (QueryProcessException e) {
+            } catch (QueryProcessException | StorageGroupNotSetException | 
StorageEngineException e ) {
                 throw new RuntimeException(e);
             }
 
@@ -100,7 +102,8 @@ public class PublishHandler extends 
AbstractInterceptHandler {
         }
     }
 
-    private boolean executeNonQuery(PhysicalPlan plan) throws 
QueryProcessException {
+    private boolean executeNonQuery(PhysicalPlan plan)
+        throws QueryProcessException, StorageGroupNotSetException, 
StorageEngineException {
         if (IoTDBDescriptor.getInstance().getConfig().isReadOnly()) {
             throw new QueryProcessException(
                     "Current system mode is read-only, does not support 
non-query operation");
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/Planner.java 
b/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
index 15a3a14..fce62a7 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
@@ -95,6 +95,8 @@ public class Planner {
       case LOAD_FILES:
       case REMOVE_FILE:
       case MOVE_FILE:
+      case FLUSH:
+      case MERGE:
         return operator;
       case QUERY:
       case UPDATE:
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java 
b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 3e4f8b8..2183923 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -239,6 +239,7 @@ public class PlanExecutor implements IPlanExecutor {
         return true;
       case MERGE:
         operateMerge((MergePlan) plan);
+        return true;
       default:
         throw new UnsupportedOperationException(
             String.format("operation %s is not supported", 
plan.getOperatorType()));
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/logical/RootOperator.java 
b/server/src/main/java/org/apache/iotdb/db/qp/logical/RootOperator.java
index edb44ed..adfa8c7 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/RootOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/RootOperator.java
@@ -26,6 +26,5 @@ public abstract class RootOperator extends Operator {
 
   public RootOperator(int tokenIntType) {
     super(tokenIntType);
-    operatorType = OperatorType.MERGE;
   }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/MergeOperator.java 
b/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/MergeOperator.java
index 407019e..16b9a5f 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/MergeOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/sys/MergeOperator.java
@@ -24,5 +24,6 @@ public class MergeOperator extends RootOperator {
 
   public MergeOperator(int tokenIntType) {
     super(tokenIntType);
+    operatorType = OperatorType.MERGE;
   }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java 
b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index 58f15f8..4903884 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -898,7 +898,7 @@ public class TSServiceImpl implements TSIService.Iface, 
ServerContext {
   }
 
   private boolean executeNonQuery(PhysicalPlan plan)
-      throws QueryProcessException, StorageGroupNotSetException {
+      throws QueryProcessException, StorageGroupNotSetException, 
StorageEngineException {
     if (IoTDBDescriptor.getInstance().getConfig().isReadOnly()) {
       throw new QueryProcessException(
           "Current system mode is read-only, does not support non-query 
operation");

Reply via email to