You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/05/02 06:11:03 UTC
[iotdb] branch master updated: move columnToTsBlockIndexMap from LogicalPlanner to DistributionPlanner (#5733)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new f6abf3d1da move columnToTsBlockIndexMap from LogicalPlanner to DistributionPlanner (#5733)
f6abf3d1da is described below
commit f6abf3d1dae3aee00336606afc3d5abc30dbc3e4
Author: liuminghui233 <36...@users.noreply.github.com>
AuthorDate: Mon May 2 14:10:57 2022 +0800
move columnToTsBlockIndexMap from LogicalPlanner to DistributionPlanner (#5733)
---
.../apache/iotdb/db/mpp/sql/planner/DistributionPlanner.java | 10 +++++++++-
.../org/apache/iotdb/db/mpp/sql/planner/LogicalPlanner.java | 2 --
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/DistributionPlanner.java b/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/DistributionPlanner.java
index 0e15212224..e262e02dff 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/DistributionPlanner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/DistributionPlanner.java
@@ -43,6 +43,7 @@ import org.apache.iotdb.db.mpp.sql.planner.plan.node.process.TimeJoinNode;
import org.apache.iotdb.db.mpp.sql.planner.plan.node.sink.FragmentSinkNode;
import org.apache.iotdb.db.mpp.sql.planner.plan.node.source.SeriesAggregationScanNode;
import org.apache.iotdb.db.mpp.sql.planner.plan.node.source.SeriesScanNode;
+import org.apache.iotdb.db.mpp.sql.statement.crud.QueryStatement;
import java.util.ArrayList;
import java.util.Collections;
@@ -88,6 +89,11 @@ public class DistributionPlanner {
public DistributedQueryPlan planFragments() {
PlanNode rootAfterRewrite = rewriteSource();
PlanNode rootWithExchange = addExchangeNode(rootAfterRewrite);
+ if (analysis.getStatement() instanceof QueryStatement) {
+ analysis
+ .getRespDatasetHeader()
+ .setColumnToTsBlockIndexMap(rootWithExchange.getOutputColumnNames());
+ }
SubPlan subPlan = splitFragment(rootWithExchange);
List<FragmentInstance> fragmentInstances = planFragmentInstances(subPlan);
// Only execute this step for READ operation
@@ -350,7 +356,8 @@ public class DistributionPlanner {
context.getNodeDistribution(child.getPlanNodeId()).region)) {
ExchangeNode exchangeNode =
new ExchangeNode(context.queryContext.getQueryId().genPlanNodeId());
- exchangeNode.addChild(child);
+ exchangeNode.setChild(child);
+ exchangeNode.setOutputColumnNames(child.getOutputColumnNames());
newNode.addChild(exchangeNode);
} else {
newNode.addChild(child);
@@ -425,6 +432,7 @@ public class DistributionPlanner {
ExchangeNode exchangeNode =
new ExchangeNode(context.queryContext.getQueryId().genPlanNodeId());
exchangeNode.setChild(child);
+ exchangeNode.setOutputColumnNames(child.getOutputColumnNames());
newNode.addChild(exchangeNode);
} else {
newNode.addChild(child);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/LogicalPlanner.java b/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/LogicalPlanner.java
index e99fdb6eee..6cebe96180 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/LogicalPlanner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/sql/planner/LogicalPlanner.java
@@ -78,8 +78,6 @@ public class LogicalPlanner {
for (PlanOptimizer optimizer : optimizers) {
rootNode = optimizer.optimize(rootNode, context);
}
-
- analysis.getRespDatasetHeader().setColumnToTsBlockIndexMap(rootNode.getOutputColumnNames());
}
return new LogicalQueryPlan(context, rootNode);