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/11/22 13:08:28 UTC
[iotdb] 01/01: Opt
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch QueryOpt
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 40bc23f50ee95a41094d6b6ca84d3260d54662d0
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Nov 22 21:08:10 2022 +0800
Opt
---
.../operator/process/last/LastQueryOperator.java | 6 +++---
.../apache/iotdb/db/mpp/plan/analyze/TypeProvider.java | 7 -------
.../iotdb/db/mpp/plan/execution/QueryExecution.java | 2 +-
.../iotdb/db/mpp/plan/planner/plan/node/PlanNode.java | 16 ++++++++--------
4 files changed, 12 insertions(+), 19 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryOperator.java
index 60620b1f56..27ae0becda 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryOperator.java
@@ -160,10 +160,10 @@ public class LastQueryOperator implements ProcessOperator {
@Override
public long calculateRetainedSizeAfterCallingNext() {
- long sum = 0;
+ long max = 0;
for (Operator operator : children) {
- sum += operator.calculateRetainedSizeAfterCallingNext();
+ max = Math.max(max, operator.calculateRetainedSizeAfterCallingNext());
}
- return sum;
+ return max;
}
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/TypeProvider.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/TypeProvider.java
index 1c3bdd3b56..00a433f449 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/TypeProvider.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/TypeProvider.java
@@ -29,8 +29,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
-import static com.google.common.base.Preconditions.checkState;
-
public class TypeProvider {
private final Map<String, TSDataType> typeMap;
@@ -44,15 +42,10 @@ public class TypeProvider {
}
public TSDataType getType(String symbol) {
- checkState(
- typeMap.containsKey(symbol), String.format("no data type found for symbol: %s", symbol));
return typeMap.get(symbol);
}
public void setType(String symbol, TSDataType dataType) {
- checkState(
- !typeMap.containsKey(symbol) || typeMap.get(symbol) == dataType,
- String.format("inconsistent data type for symbol: %s", symbol));
this.typeMap.put(symbol, dataType);
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
index f80c8b8283..a18061e6db 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
@@ -292,7 +292,7 @@ public class QueryExecution implements IQueryExecution {
public void doLogicalPlan() {
LogicalPlanner planner = new LogicalPlanner(this.context, this.planOptimizers);
this.logicalPlan = planner.plan(this.analysis);
- if (isQuery()) {
+ if (isQuery() && logger.isDebugEnabled()) {
logger.debug(
"logical plan is: \n {}", PlanNodeUtil.nodeToString(this.logicalPlan.getRootNode()));
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNode.java
index b9ee33807a..2f33e002ca 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNode.java
@@ -23,7 +23,6 @@ import org.apache.iotdb.consensus.common.request.IConsensusRequest;
import org.apache.iotdb.tsfile.utils.PublicBAOS;
import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
-import org.apache.commons.lang.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -67,13 +66,14 @@ public abstract class PlanNode implements IConsensusRequest {
public abstract PlanNode clone();
public PlanNode cloneWithChildren(List<PlanNode> children) {
- Validate.isTrue(
- children == null
- || allowedChildCount() == CHILD_COUNT_NO_LIMIT
- || children.size() == allowedChildCount(),
- String.format(
- "Child count is not correct for PlanNode. Expected: %d, Value: %d",
- allowedChildCount(), getChildrenCount(children)));
+ if (!(children == null
+ || allowedChildCount() == CHILD_COUNT_NO_LIMIT
+ || children.size() == allowedChildCount())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Child count is not correct for PlanNode. Expected: %d, Value: %d",
+ allowedChildCount(), getChildrenCount(children)));
+ }
PlanNode node = clone();
if (children != null) {
children.forEach(node::addChild);