You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/08/21 15:32:11 UTC
[iotdb] branch master updated: [IOTDB-4174] Show RegionNum when show storagegroup (#7060)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin 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 f3eb840b90 [IOTDB-4174] Show RegionNum when show storagegroup (#7060)
f3eb840b90 is described below
commit f3eb840b9002f1712a0689836f56a41e58a04925
Author: YongzaoDan <33...@users.noreply.github.com>
AuthorDate: Sun Aug 21 23:32:04 2022 +0800
[IOTDB-4174] Show RegionNum when show storagegroup (#7060)
---
.../consensus/response/StorageGroupSchemaResp.java | 7 +-
.../confignode/manager/ClusterSchemaManager.java | 43 +++++
.../iotdb/confignode/manager/ConfigManager.java | 11 ++
.../apache/iotdb/confignode/manager/IManager.java | 15 +-
.../persistence/schema/ClusterSchemaInfo.java | 6 +-
.../service/thrift/ConfigNodeRPCService.java | 2 +-
.../thrift/ConfigNodeRPCServiceHandler.java | 7 +-
.../thrift/ConfigNodeRPCServiceProcessor.java | 13 +-
integration-test/import-control.xml | 1 +
.../org/apache/iotdb/db/it/IoTDBExampleIT.java | 3 +-
.../apache/iotdb/db/it/query/IoTDBResultSetIT.java | 30 ++-
.../db/it/schema/IoTDBAutoCreateSchemaIT.java | 5 +-
.../db/it/schema/IoTDBCreateStorageGroupIT.java | 3 +-
.../db/it/schema/IoTDBCreateTimeseriesIT.java | 5 +-
.../db/it/schema/IoTDBSortedShowTimeseriesIT.java | 65 +++----
.../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java | 209 +++++++++++----------
.../apache/iotdb/db/integration/IoTDBTagIT.java | 81 ++++----
.../apache/iotdb/db/client/ConfigNodeClient.java | 19 ++
.../db/mpp/common/header/ColumnHeaderConstant.java | 14 +-
.../config/executor/ClusterConfigTaskExecutor.java | 7 +-
.../executor/StandaloneConfigTaskExecutor.java | 17 +-
.../config/metadata/ShowStorageGroupTask.java | 21 ++-
.../src/main/thrift/confignode.thrift | 22 ++-
23 files changed, 374 insertions(+), 232 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java
index eb9f0aab00..aa7f43f78a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.confignode.consensus.response;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
import org.apache.iotdb.consensus.common.DataSet;
@@ -31,6 +30,7 @@ public class StorageGroupSchemaResp implements DataSet {
private TSStatus status;
+ // Map<StorageGroupName, TStorageGroupSchema>
private Map<String, TStorageGroupSchema> schemaMap;
public StorageGroupSchemaResp() {}
@@ -47,14 +47,15 @@ public class StorageGroupSchemaResp implements DataSet {
this.schemaMap = schemaMap;
}
- public void convertToRPCStorageGroupSchemaResp(TStorageGroupSchemaResp resp) {
+ public TStorageGroupSchemaResp convertToRPCStorageGroupSchemaResp() {
+ TStorageGroupSchemaResp resp = new TStorageGroupSchemaResp();
resp.setStatus(status);
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
resp.setStorageGroupSchemaMap(schemaMap);
}
+ return resp;
}
- @TestOnly
public Map<String, TStorageGroupSchema> getSchemaMap() {
return schemaMap;
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
index d203e18f5c..63df5c89c2 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
@@ -26,6 +26,7 @@ import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.utils.StatusUtils;
import org.apache.iotdb.confignode.client.DataNodeRequestType;
import org.apache.iotdb.confignode.client.async.datanode.AsyncDataNodeClientPool;
import org.apache.iotdb.confignode.client.sync.datanode.SyncDataNodeClientPool;
@@ -48,12 +49,15 @@ import org.apache.iotdb.confignode.consensus.request.write.template.CreateSchema
import org.apache.iotdb.confignode.consensus.request.write.template.SetSchemaTemplatePlan;
import org.apache.iotdb.confignode.consensus.response.AllTemplateSetInfoResp;
import org.apache.iotdb.confignode.consensus.response.PathInfoResp;
+import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
import org.apache.iotdb.confignode.consensus.response.TemplateInfoResp;
import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
import org.apache.iotdb.confignode.persistence.schema.ClusterSchemaInfo;
import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
+import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupInfo;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.db.metadata.template.Template;
@@ -153,6 +157,45 @@ public class ClusterSchemaManager {
return getConsensusManager().read(getStorageGroupPlan).getDataset();
}
+ /** Only used in cluster tool show StorageGroup */
+ public TShowStorageGroupResp showStorageGroup(GetStorageGroupPlan getStorageGroupPlan) {
+ StorageGroupSchemaResp storageGroupSchemaResp =
+ (StorageGroupSchemaResp) getMatchedStorageGroupSchema(getStorageGroupPlan);
+ if (storageGroupSchemaResp.getStatus().getCode()
+ != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ // Return immediately if some StorageGroups doesn't exist
+ return new TShowStorageGroupResp().setStatus(storageGroupSchemaResp.getStatus());
+ }
+
+ Map<String, TStorageGroupInfo> infoMap = new ConcurrentHashMap<>();
+ for (TStorageGroupSchema storageGroupSchema : storageGroupSchemaResp.getSchemaMap().values()) {
+ String name = storageGroupSchema.getName();
+ TStorageGroupInfo storageGroupInfo = new TStorageGroupInfo();
+ storageGroupInfo.setName(name);
+ storageGroupInfo.setTTL(storageGroupSchema.getTTL());
+ storageGroupInfo.setSchemaReplicationFactor(storageGroupSchema.getSchemaReplicationFactor());
+ storageGroupInfo.setDataReplicationFactor(storageGroupSchema.getDataReplicationFactor());
+ storageGroupInfo.setTimePartitionInterval(storageGroupSchema.getTimePartitionInterval());
+
+ try {
+ storageGroupInfo.setSchemaRegionNum(
+ getPartitionManager().getRegionCount(name, TConsensusGroupType.SchemaRegion));
+ storageGroupInfo.setDataRegionNum(
+ getPartitionManager().getRegionCount(name, TConsensusGroupType.DataRegion));
+ } catch (StorageGroupNotExistsException e) {
+ // Return immediately if some StorageGroups doesn't exist
+ return new TShowStorageGroupResp()
+ .setStatus(
+ new TSStatus(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode())
+ .setMessage(e.getMessage()));
+ }
+
+ infoMap.put(name, storageGroupInfo);
+ }
+
+ return new TShowStorageGroupResp().setStorageGroupInfoMap(infoMap).setStatus(StatusUtils.OK);
+ }
+
/**
* Update TTL for the specific StorageGroup or all storage groups in a path
*
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index 295cad7127..cbd983b3c9 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -94,6 +94,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaTemplateReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
@@ -934,6 +935,16 @@ public class ConfigManager implements IManager {
}
}
+ @Override
+ public TShowStorageGroupResp showStorageGroup(GetStorageGroupPlan getStorageGroupPlan) {
+ TSStatus status = confirmLeader();
+ if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ return getClusterSchemaManager().showStorageGroup(getStorageGroupPlan);
+ } else {
+ return new TShowStorageGroupResp().setStatus(status);
+ }
+ }
+
@Override
public ProcedureManager getProcedureManager() {
return procedureManager;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
index 08d822d3c6..e63984b75d 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
@@ -51,6 +51,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaTemplateReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
@@ -128,7 +129,7 @@ public interface IManager {
/**
* Remove DataNode
*
- * @param removeDataNodePlan
+ * @param removeDataNodePlan RemoveDataNodePlan
* @return DataNodeToStatusResp
*/
DataSet removeDataNode(RemoveDataNodePlan removeDataNodePlan);
@@ -306,6 +307,14 @@ public interface IManager {
/** Show ConfigNodes */
TShowConfigNodesResp showConfigNodes();
+ /**
+ * Show StorageGroup
+ *
+ * @param getStorageGroupPlan GetStorageGroupPlan, including path patterns about StorageGroups
+ * @return TShowStorageGroupResp
+ */
+ TShowStorageGroupResp showStorageGroup(GetStorageGroupPlan getStorageGroupPlan);
+
/**
* create schema template
*
@@ -317,7 +326,7 @@ public interface IManager {
/**
* show schema templates
*
- * @return
+ * @return TGetAllTemplatesResp
*/
TGetAllTemplatesResp getAllTemplates();
@@ -325,7 +334,7 @@ public interface IManager {
* show nodes in schema template
*
* @param req String
- * @return
+ * @return TGetTemplateResp
*/
TGetTemplateResp getTemplate(String req);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
index 624b2d5bf4..757aec8a26 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
@@ -157,7 +157,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
LOGGER.warn("Storage group not exist", e);
result
.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode())
- .setMessage("Storage group not exist");
+ .setMessage("Storage group not exist: " + e.getMessage());
} finally {
storageGroupReadWriteLock.writeLock().unlock();
}
@@ -176,7 +176,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
LOGGER.error("Error StorageGroup name", e);
result.setStatus(
new TSStatus(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode())
- .setMessage("Error StorageGroup name"));
+ .setMessage("Error StorageGroup name: " + e.getMessage()));
} finally {
storageGroupReadWriteLock.readLock().unlock();
}
@@ -202,7 +202,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
LOGGER.error("Error StorageGroup name", e);
result.setStatus(
new TSStatus(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode())
- .setMessage("Error StorageGroup name"));
+ .setMessage("Error StorageGroup name: " + e.getMessage()));
} finally {
storageGroupReadWriteLock.readLock().unlock();
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
index eb0ccb8c5f..740774944f 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
@@ -77,7 +77,7 @@ public class ConfigNodeRPCService extends ThriftService implements ConfigNodeRPC
getBindPort(),
configConf.getRpcMaxConcurrentClientNum(),
configConf.getThriftServerAwaitTimeForStopService(),
- new ConfigNodeRPCServiceHandler(configNodeRPCServiceProcessor),
+ new ConfigNodeRPCServiceHandler(),
commonConfig.isRpcThriftCompressionEnabled());
} catch (RPCServiceException e) {
throw new IllegalAccessException(e.getMessage());
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java
index 9fd02b55d6..1ace76c612 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java
@@ -27,11 +27,8 @@ import org.apache.thrift.server.TServerEventHandler;
import org.apache.thrift.transport.TTransport;
public class ConfigNodeRPCServiceHandler implements TServerEventHandler {
- private final ConfigNodeRPCServiceProcessor processor;
- public ConfigNodeRPCServiceHandler(ConfigNodeRPCServiceProcessor processor) {
- this.processor = processor;
- }
+ public ConfigNodeRPCServiceHandler() {}
@Override
public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
@@ -47,8 +44,6 @@ public class ConfigNodeRPCServiceHandler implements TServerEventHandler {
@Override
public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
- // release query resources.
- processor.handleClientExit();
MetricService.getInstance()
.getOrCreateGauge(
Metric.THRIFT_CONNECTIONS.toString(),
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index 90dfdc2c11..3bd01f2320 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@ -99,6 +99,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
import org.apache.iotdb.confignode.service.ConfigNode;
@@ -276,9 +277,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
configManager.getMatchedStorageGroupSchemas(
new GetStorageGroupPlan(storageGroupPathPattern));
- TStorageGroupSchemaResp resp = new TStorageGroupSchemaResp();
- storageGroupSchemaResp.convertToRPCStorageGroupSchemaResp(resp);
- return resp;
+ return storageGroupSchemaResp.convertToRPCStorageGroupSchemaResp();
}
@Override
@@ -568,9 +567,11 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
return configManager.showConfigNodes();
}
- public void handleClientExit() {}
-
- // TODO: Interfaces for data operations
+ @Override
+ public TShowStorageGroupResp showStorageGroup(List<String> storageGroupPathPattern)
+ throws TException {
+ return configManager.showStorageGroup(new GetStorageGroupPlan(storageGroupPathPattern));
+ }
@Override
public TSStatus createSchemaTemplate(TCreateSchemaTemplateReq req) throws TException {
diff --git a/integration-test/import-control.xml b/integration-test/import-control.xml
index 7ccb1ca24f..4a13fc9078 100644
--- a/integration-test/import-control.xml
+++ b/integration-test/import-control.xml
@@ -42,4 +42,5 @@
<allow pkg="org\.apache\.iotdb\.commons\.auth\.entity.*" regex="true"/>
<allow pkg="org\.apache\.iotdb\.commons\.conf.*" regex="true"/>
<allow pkg="org\.apache\.iotdb\.db\.qp\.logical\.sys.*" regex="true"/>
+ <allow pkg="org\.apache\.iotdb\.db\.mpp\.common\.header.*" regex="true" />
</import-control>
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
index 528708b3e1..f8e6a1ef22 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.it;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -57,7 +58,7 @@ public class IoTDBExampleIT {
statement.execute("set storage group to root.sg");
try (ResultSet resultSet = statement.executeQuery("show storage group")) {
if (resultSet.next()) {
- String storageGroupPath = resultSet.getString("storage group");
+ String storageGroupPath = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
Assert.assertEquals("root.sg", storageGroupPath);
} else {
Assert.fail("This ResultSet is empty.");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
index ab0e72d405..8f2db6c50d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.it.query;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -138,27 +139,48 @@ public class IoTDBResultSetIT {
@Test
public void emptyQueryTest1() {
- String expectedHeader = "Time,";
+ String expectedHeader = ColumnHeaderConstant.COLUMN_TIME + ",";
resultSetEqualTest("select * from root.sg1.d1", expectedHeader, emptyResultSet);
}
@Test
public void emptyQueryTest2() {
String expectedHeader =
- "Time,root.t1.wf01.wt02.grade,root.t1.wf01.wt02.temperature,root.t1.wf01.wt02.type,root.t1.wf01.wt02.status,";
+ ColumnHeaderConstant.COLUMN_TIME
+ + ","
+ + "root.t1.wf01.wt02.grade,"
+ + "root.t1.wf01.wt02.temperature,"
+ + "root.t1.wf01.wt02.type,"
+ + "root.t1.wf01.wt02.status,";
resultSetEqualTest("select * from root.t1.wf01.wt02", expectedHeader, emptyResultSet);
}
@Test
public void emptyShowTimeseriesTest() {
String expectedHeader =
- "timeseries,alias,storage group,dataType,encoding,compression,tags,attributes,";
+ ColumnHeaderConstant.COLUMN_TIMESERIES
+ + ","
+ + ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS
+ + ","
+ + ColumnHeaderConstant.COLUMN_STORAGE_GROUP
+ + ","
+ + ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE
+ + ","
+ + ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING
+ + ","
+ + ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION
+ + ","
+ + ColumnHeaderConstant.COLUMN_TAGS
+ + ","
+ + ColumnHeaderConstant.COLUMN_ATTRIBUTES
+ + ",";
resultSetEqualTest("show timeseries root.sg1.**", expectedHeader, emptyResultSet);
}
@Test
public void emptyShowDeviceTest() {
- String expectedHeader = "devices,isAligned,";
+ String expectedHeader =
+ ColumnHeaderConstant.COLUMN_DEVICES + "," + ColumnHeaderConstant.COLUMN_IS_ALIGNED + ",";
resultSetEqualTest("show devices root.sg1.**", expectedHeader, emptyResultSet);
}
}
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
index aeb02f151f..c26f1ddb59 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.it.schema;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -186,7 +187,7 @@ public class IoTDBAutoCreateSchemaIT {
Set<String> resultList = new HashSet<>();
try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
while (resultSet.next()) {
- String str = resultSet.getString("timeseries");
+ String str = resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES);
resultList.add(str);
}
}
@@ -195,7 +196,7 @@ public class IoTDBAutoCreateSchemaIT {
resultList.clear();
try (ResultSet resultSet = statement.executeQuery("show storage group")) {
while (resultSet.next()) {
- resultList.add(resultSet.getString("storage group"));
+ resultList.add(resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP));
}
}
Assert.assertTrue(resultList.contains(storageGroup));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
index 2799282378..43e3d2db97 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.it.schema;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -93,7 +94,7 @@ public class IoTDBCreateStorageGroupIT {
List<String> resultList = new ArrayList<>();
try (ResultSet resultSet = statement.executeQuery("show storage group")) {
while (resultSet.next()) {
- String storageGroupPath = resultSet.getString("storage group");
+ String storageGroupPath = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
resultList.add(storageGroupPath);
}
}
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
index 3cafa22ea4..51565b8f41 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.it.schema;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -84,7 +85,7 @@ public class IoTDBCreateTimeseriesIT {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("show timeseries")) {
while (resultSet.next()) {
- String str = resultSet.getString("timeseries");
+ String str = resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES);
resultList.add(str);
}
}
@@ -94,7 +95,7 @@ public class IoTDBCreateTimeseriesIT {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("show storage group")) {
while (resultSet.next()) {
- String res = resultSet.getString("storage group");
+ String res = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
resultList.add(res);
}
}
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
index c1554b081b..062938e366 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.db.it.schema;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -169,21 +170,21 @@ public class IoTDBSortedShowTimeseriesIT {
int count = 0;
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertTrue(retArray1.contains(ans));
count++;
@@ -195,21 +196,21 @@ public class IoTDBSortedShowTimeseriesIT {
count = 0;
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
System.out.println("\"" + ans + "\",");
assertTrue(retArray2.contains(ans));
count++;
@@ -247,21 +248,21 @@ public class IoTDBSortedShowTimeseriesIT {
int count = 0;
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
System.out.println(ans);
assertTrue(retSet.contains(ans));
@@ -296,21 +297,21 @@ public class IoTDBSortedShowTimeseriesIT {
int count = 0;
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(retArray[count], ans);
count++;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java
index e8dd0e5788..b648d664b6 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.db.it.schema;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.it.env.EnvFactory;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.ClusterIT;
@@ -74,21 +75,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret1[count], ans);
count++;
}
@@ -122,21 +123,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret2[count], ans);
count++;
}
@@ -172,21 +173,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret[count], ans);
count++;
}
@@ -210,21 +211,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret2[count], ans);
count++;
}
@@ -259,21 +260,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret[count], ans);
count++;
}
@@ -288,21 +289,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret2[count], ans);
count++;
}
@@ -342,21 +343,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret[count], ans);
count++;
}
@@ -371,21 +372,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret2[count], ans);
count++;
}
@@ -421,21 +422,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret[count], ans);
count++;
}
@@ -451,21 +452,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret2[count], ans);
count++;
}
@@ -505,21 +506,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret[count], ans);
count++;
}
@@ -535,21 +536,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret2[count], ans);
count++;
}
@@ -566,21 +567,21 @@ public class IoTDBTagAlterIT {
try {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertEquals(ret3[count], ans);
count++;
}
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java
index 14a1df0d8f..eaac40ef72 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.db.integration;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.integration.env.EnvFactory;
import org.apache.iotdb.itbase.category.ClusterTest;
import org.apache.iotdb.itbase.category.LocalStandaloneTest;
@@ -85,21 +86,21 @@ public class IoTDBTagIT {
try (ResultSet resultSet = statement.getResultSet()) {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertTrue(ret1.contains(ans));
count++;
@@ -114,21 +115,21 @@ public class IoTDBTagIT {
try (ResultSet resultSet = statement.getResultSet()) {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertTrue(ret2.contains(ans));
count++;
@@ -172,21 +173,21 @@ public class IoTDBTagIT {
try (ResultSet resultSet = statement.getResultSet()) {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertTrue(ret1.contains(ans));
count++;
@@ -201,21 +202,21 @@ public class IoTDBTagIT {
try (ResultSet resultSet = statement.getResultSet()) {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
assertTrue(ret2.contains(ans));
count++;
@@ -283,21 +284,21 @@ public class IoTDBTagIT {
try (ResultSet resultSet = statement.getResultSet()) {
while (resultSet.next()) {
String ans =
- resultSet.getString("timeseries")
+ resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+ ","
- + resultSet.getString("alias")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+ ","
- + resultSet.getString("storage group")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+ ","
- + resultSet.getString("dataType")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+ ","
- + resultSet.getString("encoding")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+ ","
- + resultSet.getString("compression")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+ ","
- + resultSet.getString("tags")
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+ ","
- + resultSet.getString("attributes");
+ + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
res.add(ans);
count++;
diff --git a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
index 4e43299f91..55522005f9 100644
--- a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
+++ b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
@@ -74,6 +74,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
@@ -861,6 +862,24 @@ public class ConfigNodeClient
throw new TException(MSG_RECONNECTION_FAIL);
}
+ @Override
+ public TShowStorageGroupResp showStorageGroup(List<String> storageGroupPathPattern)
+ throws TException {
+ for (int i = 0; i < RETRY_NUM; i++) {
+ try {
+ TShowStorageGroupResp showStorageGroupResp =
+ client.showStorageGroup(storageGroupPathPattern);
+ if (!updateConfigNodeLeader(showStorageGroupResp.getStatus())) {
+ return showStorageGroupResp;
+ }
+ } catch (TException e) {
+ configLeader = null;
+ }
+ reconnect();
+ }
+ throw new TException(MSG_RECONNECTION_FAIL);
+ }
+
@Override
public TRegionRouteMapResp getLatestRegionRouteMap() throws TException {
for (int i = 0; i < RETRY_NUM; i++) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
index b90626b6b3..9d242bcdb3 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
@@ -45,9 +45,9 @@ public class ColumnHeaderConstant {
public static final String COLUMN_IS_ALIGNED = "isAligned";
public static final String COLUMN_COUNT = "count";
public static final String COLUMN_TTL = "ttl";
- public static final String COLUMN_SCHEMA_REPLICATION_FACTOR = "schema_replication_factor";
- public static final String COLUMN_DATA_REPLICATION_FACTOR = "data_replication_factor";
- public static final String COLUMN_TIME_PARTITION_INTERVAL = "time_partition_interval";
+ public static final String COLUMN_SCHEMA_REPLICATION_FACTOR = "SchemaReplicationFactor";
+ public static final String COLUMN_DATA_REPLICATION_FACTOR = "DataReplicationFactor";
+ public static final String COLUMN_TIME_PARTITION_INTERVAL = "TimePartitionInterval";
public static final String COLUMN_CHILDPATHS = "child paths";
public static final String COLUMN_NODETYPES = "node types";
public static final String COLUMN_CHILDNODES = "child nodes";
@@ -77,8 +77,8 @@ public class ColumnHeaderConstant {
public static final String COLUMN_REGION_ID = "RegionId";
public static final String COLUMN_TYPE = "Type";
public static final String COLUMN_DATANODE_ID = "DataNodeId";
- public static final String COLUMN_SERIES_SLOTS = "Series Slots";
- public static final String COLUMN_TIME_SLOTS = "Time Slots";
+ public static final String COLUMN_SERIES_SLOTS = "SeriesSlots";
+ public static final String COLUMN_TIME_SLOTS = "TimeSlots";
public static final String COLUMN_ROLE = "Role";
// column names for show datanodes
@@ -127,7 +127,9 @@ public class ColumnHeaderConstant {
new ColumnHeader(COLUMN_TTL, TSDataType.INT64),
new ColumnHeader(COLUMN_SCHEMA_REPLICATION_FACTOR, TSDataType.INT32),
new ColumnHeader(COLUMN_DATA_REPLICATION_FACTOR, TSDataType.INT32),
- new ColumnHeader(COLUMN_TIME_PARTITION_INTERVAL, TSDataType.INT64));
+ new ColumnHeader(COLUMN_TIME_PARTITION_INTERVAL, TSDataType.INT64),
+ new ColumnHeader(COLUMN_SCHEMA_REGION_NUM, TSDataType.INT32),
+ new ColumnHeader(COLUMN_DATA_REGION_NUM, TSDataType.INT32));
public static final List<ColumnHeader> showChildPathsColumnHeaders =
ImmutableList.of(
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index f50fb5ec11..39ea7bb10f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -37,6 +37,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
import org.apache.iotdb.db.client.ConfigNodeClient;
@@ -136,17 +137,15 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
public SettableFuture<ConfigTaskResult> showStorageGroup(
ShowStorageGroupStatement showStorageGroupStatement) {
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
- Map<String, TStorageGroupSchema> storageGroupSchemaMap;
// Construct request using statement
List<String> storageGroupPathPattern =
Arrays.asList(showStorageGroupStatement.getPathPattern().getNodes());
try (ConfigNodeClient client =
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.partitionRegionId)) {
// Send request to some API server
- TStorageGroupSchemaResp resp = client.getMatchedStorageGroupSchemas(storageGroupPathPattern);
- storageGroupSchemaMap = resp.getStorageGroupSchemaMap();
+ TShowStorageGroupResp resp = client.showStorageGroup(storageGroupPathPattern);
// build TSBlock
- ShowStorageGroupTask.buildTSBlock(storageGroupSchemaMap, future);
+ ShowStorageGroupTask.buildTSBlock(resp.getStorageGroupInfoMap(), future);
} catch (TException | IOException e) {
future.setException(e);
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
index 25ebce7694..2764c5b54f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
@@ -26,6 +26,7 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.udf.service.UDFExecutableManager;
import org.apache.iotdb.commons.udf.service.UDFRegistrationService;
+import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupInfo;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.db.localconfignode.LocalConfigNode;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
@@ -98,7 +99,7 @@ public class StandaloneConfigTaskExecutor implements IConfigTaskExecutor {
public SettableFuture<ConfigTaskResult> showStorageGroup(
ShowStorageGroupStatement showStorageGroupStatement) {
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
- Map<String, TStorageGroupSchema> storageGroupSchemaMap = new HashMap<>();
+ Map<String, TStorageGroupInfo> storageGroupInfoMap = new HashMap<>();
try {
LocalConfigNode localConfigNode = LocalConfigNode.getInstance();
List<PartialPath> partialPaths =
@@ -109,10 +110,20 @@ public class StandaloneConfigTaskExecutor implements IConfigTaskExecutor {
localConfigNode.getStorageGroupNodeByPath(storageGroupPath);
String storageGroup = storageGroupMNode.getFullPath();
TStorageGroupSchema storageGroupSchema = storageGroupMNode.getStorageGroupSchema();
- storageGroupSchemaMap.put(storageGroup, storageGroupSchema);
+
+ TStorageGroupInfo storageGroupInfo = new TStorageGroupInfo();
+ storageGroupInfo.setName(storageGroup);
+ storageGroupInfo.setTTL(storageGroupSchema.getTTL());
+ storageGroupInfo.setSchemaReplicationFactor(
+ storageGroupSchema.getSchemaReplicationFactor());
+ storageGroupInfo.setDataReplicationFactor(storageGroupSchema.getDataReplicationFactor());
+ storageGroupInfo.setTimePartitionInterval(storageGroupSchema.getTimePartitionInterval());
+ storageGroupInfo.setSchemaRegionNum(1);
+ storageGroupInfo.setDataRegionNum(1);
+ storageGroupInfoMap.put(storageGroup, storageGroupInfo);
}
// build TSBlock
- ShowStorageGroupTask.buildTSBlock(storageGroupSchemaMap, future);
+ ShowStorageGroupTask.buildTSBlock(storageGroupInfoMap, future);
} catch (MetadataException e) {
future.setException(e);
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowStorageGroupTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowStorageGroupTask.java
index a0557c58bd..372ee9d2f7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowStorageGroupTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowStorageGroupTask.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.mpp.plan.execution.config.metadata;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupInfo;
import org.apache.iotdb.db.mpp.common.header.ColumnHeader;
import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
@@ -55,26 +55,27 @@ public class ShowStorageGroupTask implements IConfigTask {
}
public static void buildTSBlock(
- Map<String, TStorageGroupSchema> storageGroupSchemaMap,
- SettableFuture<ConfigTaskResult> future) {
+ Map<String, TStorageGroupInfo> storageGroupInfoMap, SettableFuture<ConfigTaskResult> future) {
List<TSDataType> outputDataTypes =
ColumnHeaderConstant.showStorageGroupColumnHeaders.stream()
.map(ColumnHeader::getColumnType)
.collect(Collectors.toList());
TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
- for (Map.Entry<String, TStorageGroupSchema> entry : storageGroupSchemaMap.entrySet()) {
+ for (Map.Entry<String, TStorageGroupInfo> entry : storageGroupInfoMap.entrySet()) {
String storageGroup = entry.getKey();
- TStorageGroupSchema storageGroupSchema = entry.getValue();
+ TStorageGroupInfo storageGroupInfo = entry.getValue();
builder.getTimeColumnBuilder().writeLong(0L);
builder.getColumnBuilder(0).writeBinary(new Binary(storageGroup));
- if (Long.MAX_VALUE == storageGroupSchema.getTTL()) {
+ if (Long.MAX_VALUE == storageGroupInfo.getTTL()) {
builder.getColumnBuilder(1).appendNull();
} else {
- builder.getColumnBuilder(1).writeLong(storageGroupSchema.getTTL());
+ builder.getColumnBuilder(1).writeLong(storageGroupInfo.getTTL());
}
- builder.getColumnBuilder(2).writeInt(storageGroupSchema.getSchemaReplicationFactor());
- builder.getColumnBuilder(3).writeInt(storageGroupSchema.getDataReplicationFactor());
- builder.getColumnBuilder(4).writeLong(storageGroupSchema.getTimePartitionInterval());
+ builder.getColumnBuilder(2).writeInt(storageGroupInfo.getSchemaReplicationFactor());
+ builder.getColumnBuilder(3).writeInt(storageGroupInfo.getDataReplicationFactor());
+ builder.getColumnBuilder(4).writeLong(storageGroupInfo.getTimePartitionInterval());
+ builder.getColumnBuilder(5).writeInt(storageGroupInfo.getSchemaRegionNum());
+ builder.getColumnBuilder(6).writeInt(storageGroupInfo.getDataRegionNum());
builder.declarePosition();
}
DatasetHeader datasetHeader = DatasetHeaderFactory.getShowStorageGroupHeader();
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift b/thrift-confignode/src/main/thrift/confignode.thrift
index 2421aefa71..f4656f3b56 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -102,7 +102,7 @@ struct TCountStorageGroupResp {
struct TStorageGroupSchemaResp {
1: required common.TSStatus status
- // map<string, StorageGroupMessage>
+ // map<string, TStorageGroupSchema>
2: optional map<string, TStorageGroupSchema> storageGroupSchemaMap
}
@@ -280,6 +280,23 @@ struct TShowConfigNodesResp {
2: optional list<TConfigNodeInfo> configNodesInfoList
}
+// Show storageGroup
+struct TStorageGroupInfo {
+ 1: required string name
+ 2: required i64 TTL
+ 3: required i32 schemaReplicationFactor
+ 4: required i32 dataReplicationFactor
+ 5: required i64 timePartitionInterval
+ 6: required i32 schemaRegionNum
+ 7: required i32 dataRegionNum
+}
+
+struct TShowStorageGroupResp {
+ 1: required common.TSStatus status
+ // map<StorageGroupName, TStorageGroupInfo>
+ 2: optional map<string, TStorageGroupInfo> storageGroupInfoMap
+}
+
// Show regions
struct TShowRegionReq {
1: optional common.TConsensusGroupType consensusGroupType;
@@ -621,6 +638,9 @@ service IConfigNodeRPCService {
/** Show cluster ConfigNodes' information */
TShowConfigNodesResp showConfigNodes()
+ /** Show cluster StorageGroups' information */
+ TShowStorageGroupResp showStorageGroup(list<string> storageGroupPathPattern)
+
/**
* Show the matched cluster Regions' information
* See https://apache-iotdb.feishu.cn/docx/doxcnOzmIlaE2MX5tKjmYWuMSRg for detailed matching rules