more code

This commit is contained in:
Hongze Cheng 2022-12-15 16:03:56 +08:00
parent 66aefc392f
commit a481e8fa5e
1 changed files with 23 additions and 9 deletions

View File

@ -21,25 +21,34 @@ typedef struct {
typedef struct { typedef struct {
SArray *aBlockIdx; // SArray<SBlockIdx> SArray *aBlockIdx; // SArray<SBlockIdx>
SMapData mDataBlk; // SMapData<SDataBlk> SMapData mDataBlk; // SMapData<SDataBlk>
SBlockData bData SBlockData bData;
int32_t iBlockIdx;
int32_t iDataBlk;
int32_t iRow;
} SDataDIter; } SDataDIter;
typedef struct { typedef struct {
SArray *aSttBlk; // SArray<SSttBlk> SArray *aSttBlk; // SArray<SSttBlk>
SBlockData bData; SBlockData bData;
int32_t iSttBlk;
int32_t iRow;
} SSttDIter; } SSttDIter;
typedef struct { typedef struct {
STsdb *pTsdb; STsdb *pTsdb;
STsdbFS fs; STsdbFS fs;
int64_t cid; int64_t cid;
int32_t fid; int32_t fid;
SDFileSet *pDFileSet; SDataFReader *pReader;
SRBTree rtree; SDFileSet *pDFileSet;
SRBTree rtree;
} STsdbCompactor; } STsdbCompactor;
#define TSDB_FLG_DEEP_COMPACT 0x1 #define TSDB_FLG_DEEP_COMPACT 0x1
// ITER =========================
// COMPACT =========================
static int32_t tsdbBeginCompact(STsdb *pTsdb, STsdbCompactor *pCompactor) { static int32_t tsdbBeginCompact(STsdb *pTsdb, STsdbCompactor *pCompactor) {
int32_t code = 0; int32_t code = 0;
int32_t lino = 0; int32_t lino = 0;
@ -94,6 +103,11 @@ static int32_t tsdbDeepCompact(STsdbCompactor *pCompactor) {
STsdb *pTsdb = pCompactor->pTsdb; STsdb *pTsdb = pCompactor->pTsdb;
code = tsdbDataFReaderOpen(&pCompactor->pReader, pTsdb, pCompactor->pDFileSet);
TSDB_CHECK_CODE(code, lino, _exit);
//
_exit: _exit:
if (code) { if (code) {
tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code));
@ -107,8 +121,6 @@ static int32_t tsdbShallowCompact(STsdbCompactor *pCompactor) {
STsdb *pTsdb = pCompactor->pTsdb; STsdb *pTsdb = pCompactor->pTsdb;
// TODO
_exit: _exit:
if (code) { if (code) {
tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code));
@ -132,6 +144,8 @@ int32_t tsdbCompact(STsdb *pTsdb, int32_t flag) {
compactor.pDFileSet = (SDFileSet *)taosArraySearch(compactor.fs.aDFileSet, &compactor.fid, tDFileSetCmprFn, TD_GT); compactor.pDFileSet = (SDFileSet *)taosArraySearch(compactor.fs.aDFileSet, &compactor.fid, tDFileSetCmprFn, TD_GT);
if (compactor.pDFileSet == NULL) break; if (compactor.pDFileSet == NULL) break;
compactor.fid = compactor.pDFileSet->fid;
if (flag & TSDB_FLG_DEEP_COMPACT) { if (flag & TSDB_FLG_DEEP_COMPACT) {
code = tsdbDeepCompact(&compactor); code = tsdbDeepCompact(&compactor);
TSDB_CHECK_CODE(code, lino, _exit); TSDB_CHECK_CODE(code, lino, _exit);