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) {