more code
This commit is contained in:
parent
3ae5a72a4c
commit
df8a4ea6dc
|
@ -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},
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue