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 2024/08/10 07:07:12 UTC
(iotdb) 01/02: fix some
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/FixView
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 045aeb95d3bb388acf0496c41dfee74af6745acd
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Fri Aug 9 18:42:03 2024 +0800
fix some
---
.../plan/expression/visitor/GetMeasurementExpressionVisitor.java | 5 ++---
.../iotdb/db/queryengine/plan/planner/LocalExecutionPlanner.java | 7 ++++++-
.../plan/node/metadata/write/view/CreateLogicalViewNode.java | 4 +++-
.../schemaregion/mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 4 +++-
4 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java
index 0395c3bc047..4eefc378cfa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java
@@ -33,9 +33,8 @@ public class GetMeasurementExpressionVisitor extends ReconstructVisitor<Analysis
if (expression.getViewPath() != null) {
PartialPath viewPath = expression.getViewPath();
return new TimeSeriesOperand(
- new MeasurementPath(
- new PartialPath(viewPath.getMeasurement(), false),
- ExpressionTypeAnalyzer.analyzeExpression(analysis, expression)));
+ new PartialPath(viewPath.getMeasurement(), false),
+ ExpressionTypeAnalyzer.analyzeExpression(analysis, expression));
}
return expression.accept(this, analysis);
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LocalExecutionPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LocalExecutionPlanner.java
index 91e09c57e01..79d89b86d9b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LocalExecutionPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LocalExecutionPlanner.java
@@ -47,6 +47,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import static org.apache.iotdb.db.protocol.session.IClientSession.SqlDialect.TREE;
+
/**
* Used to plan a fragment instance. One fragment instance could be split into multiple pipelines so
* that a fragment instance could be run in parallel, and thus we can take full advantages of
@@ -149,7 +151,10 @@ public class LocalExecutionPlanner {
// Generate pipelines, return the last pipeline data structure
// TODO Replace operator with operatorFactory to build multiple driver for one pipeline
Operator root;
- IClientSession.SqlDialect sqlDialect = instanceContext.getSessionInfo().getSqlDialect();
+ IClientSession.SqlDialect sqlDialect =
+ instanceContext.getSessionInfo() == null
+ ? TREE
+ : instanceContext.getSessionInfo().getSqlDialect();
switch (sqlDialect) {
case TREE:
root = node.accept(new OperatorTreeGenerator(), context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/CreateLogicalViewNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/CreateLogicalViewNode.java
index f43ca9114ab..ffdd63b29a4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/CreateLogicalViewNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/CreateLogicalViewNode.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.view;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
@@ -229,7 +230,8 @@ public class CreateLogicalViewNode extends WritePlanNode implements ICreateLogic
TRegionReplicaSet regionReplicaSet =
analysis
.getSchemaPartitionInfo()
- .getSchemaRegionReplicaSet(entry.getKey().getIDeviceID());
+ .getSchemaRegionReplicaSet(
+ new MeasurementPath(entry.getKey().getNodes()).getIDeviceID());
// create a map if the key(regionReplicaSet) is not exists,
// then put this entry into this map(from regionReplicaSet to this entry)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/MTreeBelowSGCachedImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/MTreeBelowSGCachedImpl.java
index c29e94b4d74..3ee035a6710 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/MTreeBelowSGCachedImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/MTreeBelowSGCachedImpl.java
@@ -80,6 +80,7 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -1024,7 +1025,8 @@ public class MTreeBelowSGCachedImpl {
throw new IllegalPathException(path.getFullPath());
}
MetaFormatUtils.checkTimeseries(path);
- PartialPath devicePath = path.getDevicePath();
+ PartialPath devicePath =
+ new PartialPath(Arrays.copyOf(path.getNodes(), path.getNodeLength() - 1));
ICachedMNode deviceParent = checkAndAutoCreateInternalPath(devicePath);
try {