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

rong pushed a commit to branch select-into
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/select-into by this push:
     new ba9bd03  new SelectIntoTransporter
ba9bd03 is described below

commit ba9bd035ce42b5712269e4e4c8f778f5f897de48
Author: Steve Yurong Su <[email protected]>
AuthorDate: Thu Jul 15 16:27:07 2021 +0800

    new SelectIntoTransporter
---
 .../db/engine/transporter/SelectIntoTransporter.java | 20 ++++++++++++++++++--
 .../org/apache/iotdb/db/service/TSServiceImpl.java   |  6 ++++--
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/transporter/SelectIntoTransporter.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/transporter/SelectIntoTransporter.java
index b88179b..d9749d0 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/transporter/SelectIntoTransporter.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/transporter/SelectIntoTransporter.java
@@ -23,11 +23,27 @@ import org.apache.iotdb.db.exception.IoTDBException;
 import org.apache.iotdb.db.metadata.PartialPath;
 import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet;
 
+import java.io.IOException;
 import java.util.List;
 
 public class SelectIntoTransporter {
 
-  public SelectIntoTransporter(QueryDataSet queryDataSet, List<PartialPath> 
intoPaths) {}
+  private final QueryDataSet queryDataSet;
+  private final List<PartialPath> intoPaths;
+  private final int fetchSize;
 
-  public void execute() throws IoTDBException {}
+  public SelectIntoTransporter(
+      QueryDataSet queryDataSet, List<PartialPath> intoPaths, int fetchSize) {
+    this.queryDataSet = queryDataSet;
+    this.intoPaths = intoPaths;
+    this.fetchSize = fetchSize;
+  }
+
+  public void transport() throws IoTDBException, IOException {
+    while (queryDataSet.hasNext()) {
+      transportTablets();
+    }
+  }
+
+  private void transportTablets() {}
 }
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 6c2190d..88414bd 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
@@ -1054,8 +1054,10 @@ public class TSServiceImpl implements TSIService.Iface {
     try {
       queryTimeManager.registerQuery(queryId, startTime, statement, timeout, 
queryPlan);
       new SelectIntoTransporter(
-              createQueryDataSet(queryId, queryPlan, fetchSize), 
selectIntoPlan.getIntoPaths())
-          .execute();
+              createQueryDataSet(queryId, queryPlan, fetchSize),
+              selectIntoPlan.getIntoPaths(),
+              fetchSize)
+          .transport();
       return 
RpcUtils.getTSExecuteStatementResp(RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS))
           .setQueryId(queryId);
     } catch (Exception e) {

Reply via email to