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 <[email protected]> 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 {
