more code
This commit is contained in:
parent
35a864491e
commit
56df90322e
|
@ -316,10 +316,17 @@ Provides dnode configuration information. Users whose SYSINFO attribute is 0 can
|
||||||
|
|
||||||
Users whose SYSINFO attribute is 0 can't view this table.
|
Users whose SYSINFO attribute is 0 can't view this table.
|
||||||
|
|
||||||
| # | **Column** | **Data Type** | **Description** |** |
|
## INS_FILESETS
|
||||||
| --- | :----------: | ------------ | -------------------------------------------|
|
|
||||||
| 1 | user_name | VARCHAR(24) | Username |
|
Provides information about file sets.
|
||||||
| 2 | privilege | VARCHAR(10) | Privilege description |
|
|
||||||
| 3 | db_name | VARCHAR(65) | Database name |
|
| # | **Column** | **Data Type** | **Description** | ** |
|
||||||
| 4 | table_name | VARCHAR(193) | Table name |
|
| --- | :-----------: | ------------- | ---------------------------------------------------- |
|
||||||
| 5 | condition | VARCHAR(49152) | The privilege filter for child tables |
|
| 1 | db_name | VARCHAR(65) | Database name |
|
||||||
|
| 2 | vgroup_id | INT | Vgroup ID |
|
||||||
|
| 3 | fileset_id | INT | File set ID |
|
||||||
|
| 4 | start_time | TIMESTAMP | Start time of the time range covered by the file set |
|
||||||
|
| 5 | end_time | TIMESTAMP | End time of the time range covered by the file set |
|
||||||
|
| 6 | total_size | BIGINT | Total size of the file set |
|
||||||
|
| 7 | last_compact | TIMESTAMP | Time of the last compaction |
|
||||||
|
| 8 | shold_compact | bool | Whether the file set should be compacted |
|
||||||
|
|
|
@ -18,6 +18,7 @@ TDengine 面向多种写入场景,而很多写入场景下,TDengine 的存
|
||||||
|
|
||||||
```SQL
|
```SQL
|
||||||
COMPACT DATABASE db_name [start with 'XXXX'] [end with 'YYYY'];
|
COMPACT DATABASE db_name [start with 'XXXX'] [end with 'YYYY'];
|
||||||
|
COMPACT [db_name.]VGROUPS IN (vgroup_id1, vgroup_id2, ...) [start with 'XXXX'] [end with 'YYYY'];
|
||||||
SHOW COMPACTS [compact_id];
|
SHOW COMPACTS [compact_id];
|
||||||
KILL COMPACT compact_id;
|
KILL COMPACT compact_id;
|
||||||
```
|
```
|
||||||
|
@ -25,6 +26,7 @@ KILL COMPACT compact_id;
|
||||||
### 效果
|
### 效果
|
||||||
|
|
||||||
- 扫描并压缩指定的 DB 中所有 VGROUP 中 VNODE 的所有数据文件
|
- 扫描并压缩指定的 DB 中所有 VGROUP 中 VNODE 的所有数据文件
|
||||||
|
- 扫描并压缩 DB 中指定的 VGROUP 列表中 VNODE 的所有数据文件, 若 db_name 为空,则默认为当前数据库
|
||||||
- COMPCAT 会删除被删除数据以及被删除的表的数据
|
- COMPCAT 会删除被删除数据以及被删除的表的数据
|
||||||
- COMPACT 会合并多个 STT 文件
|
- COMPACT 会合并多个 STT 文件
|
||||||
- 可通过 start with 关键字指定 COMPACT 数据的起始时间
|
- 可通过 start with 关键字指定 COMPACT 数据的起始时间
|
||||||
|
|
|
@ -319,10 +319,18 @@ TDengine 内置了一个名为 `INFORMATION_SCHEMA` 的数据库,提供对数
|
||||||
|
|
||||||
注:SYSINFO 属性为 0 的用户不能查看此表。
|
注:SYSINFO 属性为 0 的用户不能查看此表。
|
||||||
|
|
||||||
| # | **列名** | **数据类型** | **说明** |
|
## INS_FILESETS
|
||||||
| --- | :----------: | ------------ | -------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| 1 | user_name | VARCHAR(24) | 用户名
|
提供当前数据存储的文件组的相关信息。
|
||||||
| 2 | privilege | VARCHAR(10) | 权限描述
|
|
||||||
| 3 | db_name | VARCHAR(65) | 数据库名称
|
|
||||||
| 4 | table_name | VARCHAR(193) | 表名称
|
| # | **列名** | **数据类型** | **说明** |
|
||||||
| 5 | condition | VARCHAR(49152) | 子表权限过滤条件
|
| --- | :-----------: | ------------ | --------------------------------------- |
|
||||||
|
| 1 | db_name | VARCHAR(65) | 数据库名 |
|
||||||
|
| 2 | vgroup_id | INT | vgroup id |
|
||||||
|
| 3 | fileset_id | INT | 文件组 id |
|
||||||
|
| 4 | start_time | TIMESTAMP | 文件组的覆盖数据的开始时间 |
|
||||||
|
| 5 | end_time | TIMESTAMP | 文件组的覆盖数据的结束时间 |
|
||||||
|
| 6 | total_size | BIGINT | 文件组的总大小 |
|
||||||
|
| 7 | last_compact | TIMESTAMP | 最后一次压缩的时间 |
|
||||||
|
| 8 | shold_compact | bool | 是否需要压缩,true:需要,false:不需要 |
|
|
@ -417,7 +417,6 @@ static const SSysDbTableSchema anodesFullSchema[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const SSysDbTableSchema filesetsFullSchema[] = {
|
static const SSysDbTableSchema filesetsFullSchema[] = {
|
||||||
{.name = "dnode_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
|
|
||||||
{.name = "db_name", .bytes = SYSTABLE_SCH_DB_NAME_LEN, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = false},
|
{.name = "db_name", .bytes = SYSTABLE_SCH_DB_NAME_LEN, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = false},
|
||||||
{.name = "vgroup_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
|
{.name = "vgroup_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
|
||||||
{.name = "fileset_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
|
{.name = "fileset_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
|
||||||
|
|
|
@ -2058,22 +2058,16 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
// fill the data block
|
// fill the data block
|
||||||
{
|
{
|
||||||
SColumnInfoData* pColInfoData;
|
SColumnInfoData* pColInfoData;
|
||||||
|
int32_t index = 0;
|
||||||
// dnode_id
|
|
||||||
int32_t dnodeId = 0; // TODO
|
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 0);
|
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&dnodeId, false);
|
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
|
||||||
|
|
||||||
// db_name
|
// db_name
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 1);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, db, false);
|
code = colDataSetVal(pColInfoData, numOfRows, db, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
|
||||||
// vgroup_id
|
// vgroup_id
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 2);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&vgId, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&vgId, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2082,7 +2076,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
int32_t filesetId = 0;
|
int32_t filesetId = 0;
|
||||||
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "fileset_id", &filesetId);
|
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "fileset_id", &filesetId);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 3);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&filesetId, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&filesetId, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2091,7 +2085,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
int64_t startTime = 0;
|
int64_t startTime = 0;
|
||||||
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "start_time", &startTime);
|
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "start_time", &startTime);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 4);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&startTime, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&startTime, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2100,7 +2094,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
int64_t endTime = 0;
|
int64_t endTime = 0;
|
||||||
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "end_time", &endTime);
|
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "end_time", &endTime);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 5);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&endTime, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&endTime, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2109,7 +2103,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
int64_t totalSize = 0;
|
int64_t totalSize = 0;
|
||||||
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "total_size", &totalSize);
|
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "total_size", &totalSize);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 6);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&totalSize, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&totalSize, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2118,7 +2112,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
int64_t lastCompacat = 0;
|
int64_t lastCompacat = 0;
|
||||||
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "last_compact_time", &lastCompacat);
|
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "last_compact_time", &lastCompacat);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 7);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&lastCompacat, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&lastCompacat, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2127,7 +2121,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
bool shouldCompact = false;
|
bool shouldCompact = false;
|
||||||
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "should_compact", &shouldCompact);
|
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "should_compact", &shouldCompact);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
pColInfoData = taosArrayGet(p->pDataBlock, 8);
|
pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
code = colDataSetVal(pColInfoData, numOfRows, (char*)&shouldCompact, false);
|
code = colDataSetVal(pColInfoData, numOfRows, (char*)&shouldCompact, false);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
@ -2136,7 +2130,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
// const char* details = NULL;
|
// const char* details = NULL;
|
||||||
// code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "details", &details);
|
// code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "details", &details);
|
||||||
// QUERY_CHECK_CODE(code, lino, _end);
|
// QUERY_CHECK_CODE(code, lino, _end);
|
||||||
// pColInfoData = taosArrayGet(p->pDataBlock, 9);
|
// pColInfoData = taosArrayGet(p->pDataBlock, index++);
|
||||||
// QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
// QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
|
||||||
// code = colDataSetVal(pColInfoData, numOfRows, (char*)&vgId, false);
|
// code = colDataSetVal(pColInfoData, numOfRows, (char*)&vgId, false);
|
||||||
// QUERY_CHECK_CODE(code, lino, _end);
|
// QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
|
Loading…
Reference in New Issue