Skip to content

Commit 734786f

Browse files
authored
Fixed database names in "show regions" in table model
1 parent 9903702 commit 734786f

5 files changed

Lines changed: 32 additions & 34 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,11 @@ protected IConfigTask visitShowRegions(
244244
context.setQueryType(QueryType.READ);
245245
// As the implementation is identical, we'll simply translate to the
246246
// corresponding tree-model variant and execute that.
247-
ShowRegionStatement treeStatement = new ShowRegionStatement();
247+
final ShowRegionStatement treeStatement = new ShowRegionStatement();
248248
treeStatement.setRegionType(showRegions.getRegionType());
249249
treeStatement.setStorageGroups(showRegions.getDatabases());
250250
treeStatement.setNodeIds(showRegions.getNodeIds());
251-
return new ShowRegionTask(treeStatement);
251+
return new ShowRegionTask(treeStatement, true);
252252
}
253253

254254
@Override

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TreeConfigTaskVisitor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ public IConfigTask visitShowPipePlugins(
370370
@Override
371371
public IConfigTask visitShowRegion(
372372
ShowRegionStatement showRegionStatement, MPPQueryContext context) {
373-
return new ShowRegionTask(showRegionStatement);
373+
return new ShowRegionTask(showRegionStatement, false);
374374
}
375375

376376
@Override

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,6 @@
185185
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DropDB;
186186
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowCluster;
187187
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowDB;
188-
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowRegions;
189188
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
190189
import org.apache.iotdb.db.queryengine.plan.statement.metadata.CountDatabaseStatement;
191190
import org.apache.iotdb.db.queryengine.plan.statement.metadata.CountTimeSlotListStatement;
@@ -1389,10 +1388,11 @@ public SettableFuture<ConfigTaskResult> showTTL(ShowTTLStatement showTTLStatemen
13891388
}
13901389

13911390
@Override
1392-
public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegionStatement) {
1393-
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
1391+
public SettableFuture<ConfigTaskResult> showRegion(
1392+
final ShowRegionStatement showRegionStatement, final boolean isTableModel) {
1393+
final SettableFuture<ConfigTaskResult> future = SettableFuture.create();
13941394
TShowRegionResp showRegionResp = new TShowRegionResp();
1395-
TShowRegionReq showRegionReq = new TShowRegionReq();
1395+
final TShowRegionReq showRegionReq = new TShowRegionReq();
13961396
showRegionReq.setConsensusGroupType(showRegionStatement.getRegionType());
13971397
if (showRegionStatement.getStorageGroups() == null) {
13981398
showRegionReq.setDatabases(null);
@@ -1402,7 +1402,7 @@ public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegio
14021402
.map(PartialPath::getFullPath)
14031403
.collect(Collectors.toList()));
14041404
}
1405-
try (ConfigNodeClient client =
1405+
try (final ConfigNodeClient client =
14061406
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) {
14071407
showRegionResp = client.showRegion(showRegionReq);
14081408
if (showRegionResp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
@@ -1411,7 +1411,7 @@ public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegio
14111411
showRegionResp.getStatus().message, showRegionResp.getStatus().code));
14121412
return future;
14131413
}
1414-
} catch (ClientManagerException | TException e) {
1414+
} catch (final ClientManagerException | TException e) {
14151415
future.setException(e);
14161416
}
14171417

@@ -1428,7 +1428,7 @@ public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegio
14281428
}
14291429

14301430
// build TSBlock
1431-
ShowRegionTask.buildTSBlock(showRegionResp, future);
1431+
ShowRegionTask.buildTSBlock(showRegionResp, future, isTableModel);
14321432
return future;
14331433
}
14341434

@@ -2954,17 +2954,6 @@ public SettableFuture<ConfigTaskResult> showCluster(ShowCluster showCluster) {
29542954
return showCluster(treeStatement);
29552955
}
29562956

2957-
@Override
2958-
public SettableFuture<ConfigTaskResult> showRegions(ShowRegions showRegions) {
2959-
// As the implementation is identical, we'll simply translate to the
2960-
// corresponding tree-model variant and execute that.
2961-
ShowRegionStatement treeStatement = new ShowRegionStatement();
2962-
treeStatement.setRegionType(showRegions.getRegionType());
2963-
treeStatement.setStorageGroups(showRegions.getDatabases());
2964-
treeStatement.setNodeIds(showRegions.getNodeIds());
2965-
return showRegion(treeStatement);
2966-
}
2967-
29682957
@Override
29692958
public SettableFuture<ConfigTaskResult> useDatabase(Use useDB, IClientSession clientSession) {
29702959
SettableFuture<ConfigTaskResult> future = SettableFuture.create();

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/IConfigTaskExecutor.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DropDB;
3737
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowCluster;
3838
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowDB;
39-
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowRegions;
4039
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
4140
import org.apache.iotdb.db.queryengine.plan.statement.metadata.CountDatabaseStatement;
4241
import org.apache.iotdb.db.queryengine.plan.statement.metadata.CountTimeSlotListStatement;
@@ -154,7 +153,8 @@ public interface IConfigTaskExecutor {
154153

155154
SettableFuture<ConfigTaskResult> showTTL(ShowTTLStatement showTTLStatement);
156155

157-
SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegionStatement);
156+
SettableFuture<ConfigTaskResult> showRegion(
157+
final ShowRegionStatement showRegionStatement, final boolean isTableModel);
158158

159159
SettableFuture<ConfigTaskResult> showDataNodes();
160160

@@ -275,8 +275,6 @@ SettableFuture<ConfigTaskResult> createModel(
275275

276276
SettableFuture<ConfigTaskResult> showCluster(ShowCluster showCluster);
277277

278-
SettableFuture<ConfigTaskResult> showRegions(ShowRegions showRegions);
279-
280278
SettableFuture<ConfigTaskResult> useDatabase(final Use useDB, final IClientSession clientSession);
281279

282280
SettableFuture<ConfigTaskResult> dropDatabase(final DropDB dropDB);

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowRegionTask.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.apache.iotdb.db.queryengine.plan.execution.config.metadata;
2121

2222
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
23+
import org.apache.iotdb.commons.utils.PathUtils;
2324
import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
2425
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
2526
import org.apache.iotdb.db.queryengine.common.header.ColumnHeader;
@@ -47,26 +48,30 @@
4748
public class ShowRegionTask implements IConfigTask {
4849

4950
private final ShowRegionStatement showRegionStatement;
51+
private final boolean isTableModel;
5052

51-
public ShowRegionTask(ShowRegionStatement showRegionStatement) {
53+
public ShowRegionTask(final ShowRegionStatement showRegionStatement, final boolean isTableModel) {
5254
this.showRegionStatement = showRegionStatement;
55+
this.isTableModel = isTableModel;
5356
}
5457

5558
@Override
56-
public ListenableFuture<ConfigTaskResult> execute(IConfigTaskExecutor configTaskExecutor)
59+
public ListenableFuture<ConfigTaskResult> execute(final IConfigTaskExecutor configTaskExecutor)
5760
throws InterruptedException {
58-
return configTaskExecutor.showRegion(showRegionStatement);
61+
return configTaskExecutor.showRegion(showRegionStatement, isTableModel);
5962
}
6063

6164
public static void buildTSBlock(
62-
TShowRegionResp showRegionResp, SettableFuture<ConfigTaskResult> future) {
63-
List<TSDataType> outputDataTypes =
65+
final TShowRegionResp showRegionResp,
66+
final SettableFuture<ConfigTaskResult> future,
67+
final boolean isTableModel) {
68+
final List<TSDataType> outputDataTypes =
6469
ColumnHeaderConstant.showRegionColumnHeaders.stream()
6570
.map(ColumnHeader::getColumnType)
6671
.collect(Collectors.toList());
67-
TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
72+
final TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
6873
if (showRegionResp.getRegionInfoList() != null) {
69-
for (TRegionInfo regionInfo : showRegionResp.getRegionInfoList()) {
74+
for (final TRegionInfo regionInfo : showRegionResp.getRegionInfoList()) {
7075
builder.getTimeColumnBuilder().writeLong(0L);
7176
builder.getColumnBuilder(0).writeInt(regionInfo.getConsensusGroupId().getId());
7277
if (regionInfo.getConsensusGroupId().getType().ordinal()
@@ -84,7 +89,13 @@ public static void buildTSBlock(
8489
.getColumnBuilder(2)
8590
.writeBinary(
8691
BytesUtils.valueOf(regionInfo.getStatus() == null ? "" : regionInfo.getStatus()));
87-
builder.getColumnBuilder(3).writeBinary(BytesUtils.valueOf(regionInfo.getDatabase()));
92+
builder
93+
.getColumnBuilder(3)
94+
.writeBinary(
95+
BytesUtils.valueOf(
96+
isTableModel
97+
? PathUtils.unQualifyDatabaseName(regionInfo.getDatabase())
98+
: regionInfo.getDatabase()));
8899
builder.getColumnBuilder(4).writeInt(regionInfo.getSeriesSlots());
89100
builder.getColumnBuilder(5).writeLong(regionInfo.getTimeSlots());
90101
builder.getColumnBuilder(6).writeInt(regionInfo.getDataNodeId());
@@ -103,7 +114,7 @@ public static void buildTSBlock(
103114
builder.declarePosition();
104115
}
105116
}
106-
DatasetHeader datasetHeader = DatasetHeaderFactory.getShowRegionHeader();
117+
final DatasetHeader datasetHeader = DatasetHeaderFactory.getShowRegionHeader();
107118
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS, builder.build(), datasetHeader));
108119
}
109120
}

0 commit comments

Comments
 (0)