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));
   }
 }

Reply via email to