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

xingtanzjr pushed a commit to branch xingtanzjr/mpp-query-basis
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/xingtanzjr/mpp-query-basis by 
this push:
     new 74517ca  Milestone: complete the basic frame of query executing state 
in MPP
74517ca is described below

commit 74517ca4c2f0d0110e6bde5a944a0e90cc4e089b
Author: Jinrui.Zhang <[email protected]>
AuthorDate: Mon Mar 14 18:37:51 2022 +0800

    Milestone: complete the basic frame of query executing state in MPP
---
 .../iotdb/db/query/mpp/exec/Coordinator.java       | 23 ++++++++++++++++++++++
 .../iotdb/db/query/mpp/exec/QueryExecution.java    | 15 ++++++++++++++
 .../db/query/mpp/plan/FragmentInstanceId.java      |  2 ++
 .../iotdb/db/query/mpp/plan/LogicalPlanner.java    |  2 +-
 4 files changed, 41 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/Coordinator.java 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/Coordinator.java
index 90eec35..3c8c2b9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/Coordinator.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/Coordinator.java
@@ -1,5 +1,28 @@
 package org.apache.iotdb.db.query.mpp.exec;
 
+import org.apache.iotdb.db.query.mpp.common.QueryId;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * The coordinator for MPP.
+ * It manages all the queries which are executed in current Node. And it will 
be responsible for the lifecycle of a query.
+ * A query request will be represented as a QueryExecution.
+ */
 public class Coordinator {
 
+    private ConcurrentHashMap<QueryId, QueryExecution> queryExecutionMap;
+
+    private QueryExecution createQueryExecution() {
+        return null;
+    }
+
+    private QueryExecution getQueryExecutionById() {
+        return null;
+    }
+
+//    private TQueryResponse executeQuery(TQueryRequest request) {
+//
+//    }
 }
+
diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/QueryExecution.java 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/QueryExecution.java
index c1aab14..708e186 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/QueryExecution.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/exec/QueryExecution.java
@@ -6,6 +6,7 @@ import org.apache.iotdb.db.query.mpp.common.QueryId;
 import org.apache.iotdb.db.query.mpp.plan.*;
 import org.apache.iotdb.db.query.mpp.plan.optimzation.PlanOptimizer;
 
+import java.nio.ByteBuffer;
 import java.util.List;
 
 /**
@@ -68,4 +69,18 @@ public class QueryExecution {
     public void planFragmentInstances() {
 
     }
+
+    /**
+     * This method will be called by the request thread from client connection.
+     * This method will block until one of these conditions occurs:
+     *   1. There is a batch of result
+     *   2. There is no more result
+     *   3. The query has been cancelled
+     *   4. The query is timeout
+     * This method will fetch the result from DataStreamManager use the 
virtual ResultOperator's ID
+     * (This part will be designed and implemented with DataStreamManager)
+     */
+    public ByteBuffer getBatchResult() {
+        return null;
+    }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/FragmentInstanceId.java
 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/FragmentInstanceId.java
index 090eb1a..ee6b0b2 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/FragmentInstanceId.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/FragmentInstanceId.java
@@ -5,4 +5,6 @@ public class FragmentInstanceId {
     public FragmentInstanceId(String id) {
         this.id = id;
     }
+
+    //A SinkOperator is needed here. So that we can know where the result of 
this instance can be sent
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/LogicalPlanner.java 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/LogicalPlanner.java
index 8d17ca2..a400979 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/LogicalPlanner.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/mpp/plan/LogicalPlanner.java
@@ -16,7 +16,7 @@ public class LogicalPlanner {
         this.context = context;
         this.optimizers = optimizers;
     }
-
+    
     public LogicalQueryPlan plan() {
         return null;
     }

Reply via email to