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 734786f09e4 Fixed database names in "show regions" in table model
734786f09e4 is described below
commit 734786f09e45b6b687a9fa87bf88754ac8c3c37f
Author: Caideyipi <[email protected]>
AuthorDate: Wed Sep 25 21:16:15 2024 +0800
Fixed database names in "show regions" in table model
---
.../execution/config/TableConfigTaskVisitor.java | 4 +--
.../execution/config/TreeConfigTaskVisitor.java | 2 +-
.../config/executor/ClusterConfigTaskExecutor.java | 25 ++++++-------------
.../config/executor/IConfigTaskExecutor.java | 6 ++---
.../execution/config/metadata/ShowRegionTask.java | 29 +++++++++++++++-------
5 files changed, 32 insertions(+), 34 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
index 7d20c47d74b..432a5111097 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
@@ -244,11 +244,11 @@ public class TableConfigTaskVisitor extends
AstVisitor<IConfigTask, MPPQueryCont
context.setQueryType(QueryType.READ);
// As the implementation is identical, we'll simply translate to the
// corresponding tree-model variant and execute that.
- ShowRegionStatement treeStatement = new ShowRegionStatement();
+ final ShowRegionStatement treeStatement = new ShowRegionStatement();
treeStatement.setRegionType(showRegions.getRegionType());
treeStatement.setStorageGroups(showRegions.getDatabases());
treeStatement.setNodeIds(showRegions.getNodeIds());
- return new ShowRegionTask(treeStatement);
+ return new ShowRegionTask(treeStatement, true);
}
@Override
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TreeConfigTaskVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TreeConfigTaskVisitor.java
index 9caf9da708e..4f959422d19 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TreeConfigTaskVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TreeConfigTaskVisitor.java
@@ -370,7 +370,7 @@ public class TreeConfigTaskVisitor extends
StatementVisitor<IConfigTask, MPPQuer
@Override
public IConfigTask visitShowRegion(
ShowRegionStatement showRegionStatement, MPPQueryContext context) {
- return new ShowRegionTask(showRegionStatement);
+ return new ShowRegionTask(showRegionStatement, false);
}
@Override
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index 1cf129f46eb..b233a2fc6c5 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -185,7 +185,6 @@ import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.vie
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DropDB;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowCluster;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowDB;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowRegions;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
import
org.apache.iotdb.db.queryengine.plan.statement.metadata.CountDatabaseStatement;
import
org.apache.iotdb.db.queryengine.plan.statement.metadata.CountTimeSlotListStatement;
@@ -1389,10 +1388,11 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
}
@Override
- public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement
showRegionStatement) {
- SettableFuture<ConfigTaskResult> future = SettableFuture.create();
+ public SettableFuture<ConfigTaskResult> showRegion(
+ final ShowRegionStatement showRegionStatement, final boolean
isTableModel) {
+ final SettableFuture<ConfigTaskResult> future = SettableFuture.create();
TShowRegionResp showRegionResp = new TShowRegionResp();
- TShowRegionReq showRegionReq = new TShowRegionReq();
+ final TShowRegionReq showRegionReq = new TShowRegionReq();
showRegionReq.setConsensusGroupType(showRegionStatement.getRegionType());
if (showRegionStatement.getStorageGroups() == null) {
showRegionReq.setDatabases(null);
@@ -1402,7 +1402,7 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
.map(PartialPath::getFullPath)
.collect(Collectors.toList()));
}
- try (ConfigNodeClient client =
+ try (final ConfigNodeClient client =
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) {
showRegionResp = client.showRegion(showRegionReq);
if (showRegionResp.getStatus().getCode() !=
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
@@ -1411,7 +1411,7 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
showRegionResp.getStatus().message,
showRegionResp.getStatus().code));
return future;
}
- } catch (ClientManagerException | TException e) {
+ } catch (final ClientManagerException | TException e) {
future.setException(e);
}
@@ -1428,7 +1428,7 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
}
// build TSBlock
- ShowRegionTask.buildTSBlock(showRegionResp, future);
+ ShowRegionTask.buildTSBlock(showRegionResp, future, isTableModel);
return future;
}
@@ -2954,17 +2954,6 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
return showCluster(treeStatement);
}
- @Override
- public SettableFuture<ConfigTaskResult> showRegions(ShowRegions showRegions)
{
- // As the implementation is identical, we'll simply translate to the
- // corresponding tree-model variant and execute that.
- ShowRegionStatement treeStatement = new ShowRegionStatement();
- treeStatement.setRegionType(showRegions.getRegionType());
- treeStatement.setStorageGroups(showRegions.getDatabases());
- treeStatement.setNodeIds(showRegions.getNodeIds());
- return showRegion(treeStatement);
- }
-
@Override
public SettableFuture<ConfigTaskResult> useDatabase(Use useDB,
IClientSession clientSession) {
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/IConfigTaskExecutor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/IConfigTaskExecutor.java
index 8fbc546aa35..16e32688c35 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/IConfigTaskExecutor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/IConfigTaskExecutor.java
@@ -36,7 +36,6 @@ import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.vie
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DropDB;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowCluster;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowDB;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowRegions;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
import
org.apache.iotdb.db.queryengine.plan.statement.metadata.CountDatabaseStatement;
import
org.apache.iotdb.db.queryengine.plan.statement.metadata.CountTimeSlotListStatement;
@@ -154,7 +153,8 @@ public interface IConfigTaskExecutor {
SettableFuture<ConfigTaskResult> showTTL(ShowTTLStatement showTTLStatement);
- SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement
showRegionStatement);
+ SettableFuture<ConfigTaskResult> showRegion(
+ final ShowRegionStatement showRegionStatement, final boolean
isTableModel);
SettableFuture<ConfigTaskResult> showDataNodes();
@@ -275,8 +275,6 @@ public interface IConfigTaskExecutor {
SettableFuture<ConfigTaskResult> showCluster(ShowCluster showCluster);
- SettableFuture<ConfigTaskResult> showRegions(ShowRegions showRegions);
-
SettableFuture<ConfigTaskResult> useDatabase(final Use useDB, final
IClientSession clientSession);
SettableFuture<ConfigTaskResult> dropDatabase(final DropDB dropDB);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowRegionTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowRegionTask.java
index 57e8b01af90..3578cc4b26f 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowRegionTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowRegionTask.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.execution.config.metadata;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
+import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
import org.apache.iotdb.db.queryengine.common.header.ColumnHeader;
@@ -47,26 +48,30 @@ import java.util.stream.Collectors;
public class ShowRegionTask implements IConfigTask {
private final ShowRegionStatement showRegionStatement;
+ private final boolean isTableModel;
- public ShowRegionTask(ShowRegionStatement showRegionStatement) {
+ public ShowRegionTask(final ShowRegionStatement showRegionStatement, final
boolean isTableModel) {
this.showRegionStatement = showRegionStatement;
+ this.isTableModel = isTableModel;
}
@Override
- public ListenableFuture<ConfigTaskResult> execute(IConfigTaskExecutor
configTaskExecutor)
+ public ListenableFuture<ConfigTaskResult> execute(final IConfigTaskExecutor
configTaskExecutor)
throws InterruptedException {
- return configTaskExecutor.showRegion(showRegionStatement);
+ return configTaskExecutor.showRegion(showRegionStatement, isTableModel);
}
public static void buildTSBlock(
- TShowRegionResp showRegionResp, SettableFuture<ConfigTaskResult> future)
{
- List<TSDataType> outputDataTypes =
+ final TShowRegionResp showRegionResp,
+ final SettableFuture<ConfigTaskResult> future,
+ final boolean isTableModel) {
+ final List<TSDataType> outputDataTypes =
ColumnHeaderConstant.showRegionColumnHeaders.stream()
.map(ColumnHeader::getColumnType)
.collect(Collectors.toList());
- TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
+ final TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
if (showRegionResp.getRegionInfoList() != null) {
- for (TRegionInfo regionInfo : showRegionResp.getRegionInfoList()) {
+ for (final TRegionInfo regionInfo : showRegionResp.getRegionInfoList()) {
builder.getTimeColumnBuilder().writeLong(0L);
builder.getColumnBuilder(0).writeInt(regionInfo.getConsensusGroupId().getId());
if (regionInfo.getConsensusGroupId().getType().ordinal()
@@ -84,7 +89,13 @@ public class ShowRegionTask implements IConfigTask {
.getColumnBuilder(2)
.writeBinary(
BytesUtils.valueOf(regionInfo.getStatus() == null ? "" :
regionInfo.getStatus()));
-
builder.getColumnBuilder(3).writeBinary(BytesUtils.valueOf(regionInfo.getDatabase()));
+ builder
+ .getColumnBuilder(3)
+ .writeBinary(
+ BytesUtils.valueOf(
+ isTableModel
+ ?
PathUtils.unQualifyDatabaseName(regionInfo.getDatabase())
+ : regionInfo.getDatabase()));
builder.getColumnBuilder(4).writeInt(regionInfo.getSeriesSlots());
builder.getColumnBuilder(5).writeLong(regionInfo.getTimeSlots());
builder.getColumnBuilder(6).writeInt(regionInfo.getDataNodeId());
@@ -103,7 +114,7 @@ public class ShowRegionTask implements IConfigTask {
builder.declarePosition();
}
}
- DatasetHeader datasetHeader = DatasetHeaderFactory.getShowRegionHeader();
+ final DatasetHeader datasetHeader =
DatasetHeaderFactory.getShowRegionHeader();
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS,
builder.build(), datasetHeader));
}
}