You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2021/07/15 08:28:18 UTC

[iotdb] branch select-into updated: new SelectIntoTransporter

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 <ro...@apache.org>
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) {