more code

This commit is contained in:
Hongze Cheng 2024-11-27 18:49:48 +08:00
parent 3ae5a72a4c
commit df8a4ea6dc
3 changed files with 46 additions and 8 deletions

View File

@ -423,6 +423,7 @@ static const SSysDbTableSchema filesetsFullSchema[] = {
{.name = "fileset_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
{.name = "start_time", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .sysInfo = false},
{.name = "end_time", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .sysInfo = false},
{.name = "total_size", .bytes = 8, .type = TSDB_DATA_TYPE_BIGINT, .sysInfo = false},
{.name = "last_compact", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .sysInfo = false},
{.name = "shold_compact", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL, .sysInfo = false},
// {.name = "details", .bytes = 256 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = false},

View File

@ -1242,10 +1242,12 @@ void tsdbFinishTaskOnFileSet(STsdb *tsdb, int32_t fid) {
struct SFileSetReader {
STsdb *pTsdb;
STFileSet *pFileSet;
int32_t fid;
int64_t startTime;
int64_t endTime;
STFileSet *pFileSet;
int64_t lastCompactTime;
int64_t totalSize;
};
int32_t tsdbFileSetReaderOpen(void *pVnode, struct SFileSetReader **ppReader) {
@ -1270,7 +1272,8 @@ int32_t tsdbFileSetReaderOpen(void *pVnode, struct SFileSetReader **ppReader) {
}
static int32_t tsdbFileSetReaderNextNoLock(struct SFileSetReader *pReader) {
STsdb *pTsdb = pReader->pTsdb;
STsdb *pTsdb = pReader->pTsdb;
int32_t code = TSDB_CODE_SUCCESS;
tsdbTFileSetClear(&pReader->pFileSet);
@ -1284,9 +1287,28 @@ static int32_t tsdbFileSetReaderNextNoLock(struct SFileSetReader *pReader) {
return TSDB_CODE_NOT_FOUND;
}
pReader->fid = (*fsetPtr)->fid;
// ref file set
code = tsdbTFileSetInitRef(pReader->pTsdb, *fsetPtr, &pReader->pFileSet);
if (code) return code;
// get file set details
pReader->fid = pReader->pFileSet->fid;
tsdbFidKeyRange(pReader->fid, pTsdb->keepCfg.days, pTsdb->keepCfg.precision, &pReader->startTime, &pReader->endTime);
return tsdbTFileSetInitRef(pReader->pTsdb, *fsetPtr, &pReader->pFileSet);
pReader->lastCompactTime = 0; // TODO
pReader->totalSize = 0;
for (int32_t i = 0; i < TSDB_FTYPE_MAX; i++) {
STFileObj *fobj = pReader->pFileSet->farr[i];
if (fobj) {
pReader->totalSize += fobj->f->size;
}
}
SSttLvl *lvl;
TARRAY2_FOREACH(pReader->pFileSet->lvlArr, lvl) {
STFileObj *fobj;
TARRAY2_FOREACH(lvl->fobjArr, fobj) { pReader->totalSize += fobj->f->size; }
}
return code;
}
int32_t tsdbFileSetReaderNext(struct SFileSetReader *pReader) {
@ -1322,9 +1344,15 @@ int32_t tsdbFileSetGetEntryField(struct SFileSetReader *pReader, const char *fie
return TSDB_CODE_SUCCESS;
}
fieldName = "total_size";
if (strncmp(field, fieldName, strlen(fieldName) + 1) == 0) {
*(int64_t *)value = pReader->totalSize;
return TSDB_CODE_SUCCESS;
}
fieldName = "last_compact_time";
if (strncmp(field, fieldName, strlen(fieldName) + 1) == 0) {
*(int64_t *)value = 0; // TODO
*(int64_t *)value = pReader->lastCompactTime;
return TSDB_CODE_SUCCESS;
}

View File

@ -2105,11 +2105,20 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
code = colDataSetVal(pColInfoData, numOfRows, (char*)&endTime, false);
QUERY_CHECK_CODE(code, lino, _end);
// total_size
int64_t totalSize = 0;
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "total_size", &totalSize);
QUERY_CHECK_CODE(code, lino, _end);
pColInfoData = taosArrayGet(p->pDataBlock, 6);
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
code = colDataSetVal(pColInfoData, numOfRows, (char*)&totalSize, false);
QUERY_CHECK_CODE(code, lino, _end);
// last_compact
int64_t lastCompacat = 0;
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "last_compact_time", &lastCompacat);
QUERY_CHECK_CODE(code, lino, _end);
pColInfoData = taosArrayGet(p->pDataBlock, 6);
pColInfoData = taosArrayGet(p->pDataBlock, 7);
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
code = colDataSetVal(pColInfoData, numOfRows, (char*)&lastCompacat, false);
QUERY_CHECK_CODE(code, lino, _end);
@ -2118,7 +2127,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
bool shouldCompact = false;
code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "should_compact", &shouldCompact);
QUERY_CHECK_CODE(code, lino, _end);
pColInfoData = taosArrayGet(p->pDataBlock, 7);
pColInfoData = taosArrayGet(p->pDataBlock, 8);
QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
code = colDataSetVal(pColInfoData, numOfRows, (char*)&shouldCompact, false);
QUERY_CHECK_CODE(code, lino, _end);
@ -2127,7 +2136,7 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
// const char* details = NULL;
// code = pAPI->tsdReader.fileSetGetEntryField(pInfo->pFileSetReader, "details", &details);
// QUERY_CHECK_CODE(code, lino, _end);
// pColInfoData = taosArrayGet(p->pDataBlock, 8);
// pColInfoData = taosArrayGet(p->pDataBlock, 9);
// QUERY_CHECK_NULL(pColInfoData, code, lino, _end, terrno);
// code = colDataSetVal(pColInfoData, numOfRows, (char*)&vgId, false);
// QUERY_CHECK_CODE(code, lino, _end);