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 = "fileset_id", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false},
|
||||||
{.name = "start_time", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .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 = "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 = "last_compact", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .sysInfo = false},
|
||||||
{.name = "shold_compact", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL, .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},
|
// {.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 {
|
struct SFileSetReader {
|
||||||
STsdb *pTsdb;
|
STsdb *pTsdb;
|
||||||
|
STFileSet *pFileSet;
|
||||||
int32_t fid;
|
int32_t fid;
|
||||||
int64_t startTime;
|
int64_t startTime;
|
||||||
int64_t endTime;
|
int64_t endTime;
|
||||||
STFileSet *pFileSet;
|
int64_t lastCompactTime;
|
||||||
|
int64_t totalSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
int32_t tsdbFileSetReaderOpen(void *pVnode, struct SFileSetReader **ppReader) {
|
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) {
|
static int32_t tsdbFileSetReaderNextNoLock(struct SFileSetReader *pReader) {
|
||||||
STsdb *pTsdb = pReader->pTsdb;
|
STsdb *pTsdb = pReader->pTsdb;
|
||||||
|
int32_t code = TSDB_CODE_SUCCESS;
|
||||||
|
|
||||||
tsdbTFileSetClear(&pReader->pFileSet);
|
tsdbTFileSetClear(&pReader->pFileSet);
|
||||||
|
|
||||||
|
@ -1284,9 +1287,28 @@ static int32_t tsdbFileSetReaderNextNoLock(struct SFileSetReader *pReader) {
|
||||||
return TSDB_CODE_NOT_FOUND;
|
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);
|
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) {
|
int32_t tsdbFileSetReaderNext(struct SFileSetReader *pReader) {
|
||||||
|
@ -1322,9 +1344,15 @@ int32_t tsdbFileSetGetEntryField(struct SFileSetReader *pReader, const char *fie
|
||||||
return TSDB_CODE_SUCCESS;
|
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";
|
fieldName = "last_compact_time";
|
||||||
if (strncmp(field, fieldName, strlen(fieldName) + 1) == 0) {
|
if (strncmp(field, fieldName, strlen(fieldName) + 1) == 0) {
|
||||||
*(int64_t *)value = 0; // TODO
|
*(int64_t *)value = pReader->lastCompactTime;
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2105,11 +2105,20 @@ static SSDataBlock* sysTableBuildUserFileSets(SOperatorInfo* pOperator) {
|
||||||
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);
|
||||||
|
|
||||||
|
// 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
|
// last_compact
|
||||||
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, 6);
|
pColInfoData = taosArrayGet(p->pDataBlock, 7);
|
||||||
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);
|
||||||
|
@ -2118,7 +2127,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, 7);
|
pColInfoData = taosArrayGet(p->pDataBlock, 8);
|
||||||
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);
|
||||||
|
@ -2127,7 +2136,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, 8);
|
// pColInfoData = taosArrayGet(p->pDataBlock, 9);
|
||||||
// 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