refact code
This commit is contained in:
parent
91c8391bff
commit
2f5f0b75df
|
@ -75,16 +75,6 @@ static FORCE_INLINE int32_t tarray2_make_room( //
|
||||||
|
|
||||||
#define TARRAY2_INIT(a) TARRAY2_INIT_EX(a, 0, 0, NULL)
|
#define TARRAY2_INIT(a) TARRAY2_INIT_EX(a, 0, 0, NULL)
|
||||||
|
|
||||||
#define TARRAY2_INITIALIZER \
|
|
||||||
{ 0, 0, NULL }
|
|
||||||
|
|
||||||
#define TARRAY2_FREE(a) \
|
|
||||||
do { \
|
|
||||||
if ((a)->data) { \
|
|
||||||
taosMemoryFree((a)->data); \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define TARRAY2_CLEAR(a, cb) \
|
#define TARRAY2_CLEAR(a, cb) \
|
||||||
do { \
|
do { \
|
||||||
if ((cb) && (a)->size > 0) { \
|
if ((cb) && (a)->size > 0) { \
|
||||||
|
@ -96,10 +86,14 @@ static FORCE_INLINE int32_t tarray2_make_room( //
|
||||||
(a)->size = 0; \
|
(a)->size = 0; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define TARRAY2_CLEAR_FREE(a, cb) \
|
#define TARRAY2_DESTROY(a, cb) \
|
||||||
do { \
|
do { \
|
||||||
TARRAY2_CLEAR(a, cb); \
|
TARRAY2_CLEAR(a, cb); \
|
||||||
TARRAY2_FREE(a); \
|
if ((a)->data) { \
|
||||||
|
taosMemoryFree((a)->data); \
|
||||||
|
(a)->data = NULL; \
|
||||||
|
} \
|
||||||
|
(a)->capacity = 0; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define TARRAY2_INSERT(a, idx, e) \
|
#define TARRAY2_INSERT(a, idx, e) \
|
||||||
|
|
|
@ -22,11 +22,10 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// SDelBlock ----------
|
// STombRecord ----------
|
||||||
|
#define TOMB_RECORD_ELEM_NUM 5
|
||||||
#define TOMB_RECORD_NUM_ELEM 5
|
|
||||||
typedef union {
|
typedef union {
|
||||||
int64_t aData[TOMB_RECORD_NUM_ELEM];
|
int64_t dataArr[TOMB_RECORD_ELEM_NUM];
|
||||||
struct {
|
struct {
|
||||||
int64_t suid;
|
int64_t suid;
|
||||||
int64_t uid;
|
int64_t uid;
|
||||||
|
@ -37,7 +36,7 @@ typedef union {
|
||||||
} STombRecord;
|
} STombRecord;
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
TARRAY2(int64_t) dataArr[TOMB_RECORD_NUM_ELEM];
|
TARRAY2(int64_t) dataArr[TOMB_RECORD_ELEM_NUM];
|
||||||
struct {
|
struct {
|
||||||
TARRAY2(int64_t) suid[1];
|
TARRAY2(int64_t) suid[1];
|
||||||
TARRAY2(int64_t) uid[1];
|
TARRAY2(int64_t) uid[1];
|
||||||
|
@ -49,9 +48,9 @@ typedef union {
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int32_t numRec;
|
int32_t numRec;
|
||||||
int32_t size[TOMB_RECORD_NUM_ELEM];
|
int32_t size[TOMB_RECORD_ELEM_NUM];
|
||||||
TABLEID minTid;
|
TABLEID minTbid;
|
||||||
TABLEID maxTid;
|
TABLEID maxTbid;
|
||||||
int64_t minVer;
|
int64_t minVer;
|
||||||
int64_t maxVer;
|
int64_t maxVer;
|
||||||
SFDataPtr dp[1];
|
SFDataPtr dp[1];
|
||||||
|
@ -59,17 +58,16 @@ typedef struct {
|
||||||
|
|
||||||
#define TOMB_BLOCK_SIZE(db) TARRAY2_SIZE((db)->suid)
|
#define TOMB_BLOCK_SIZE(db) TARRAY2_SIZE((db)->suid)
|
||||||
|
|
||||||
int32_t tTombBlockInit(STombBlock *delBlock);
|
int32_t tTombBlockInit(STombBlock *tombBlock);
|
||||||
int32_t tTombBlockFree(STombBlock *delBlock);
|
int32_t tTombBlockDestroy(STombBlock *tombBlock);
|
||||||
int32_t tTombBlockClear(STombBlock *delBlock);
|
int32_t tTombBlockClear(STombBlock *tombBlock);
|
||||||
int32_t tTombBlockPut(STombBlock *delBlock, const STombRecord *delRecord);
|
int32_t tTombBlockPut(STombBlock *tombBlock, const STombRecord *record);
|
||||||
|
int32_t tTombRecordCompare(const STombRecord *record1, const STombRecord *record2);
|
||||||
int32_t tTombRecordCmpr(const STombRecord *r1, const STombRecord *r2);
|
|
||||||
|
|
||||||
// STbStatisBlock ----------
|
// STbStatisBlock ----------
|
||||||
#define STATIS_RECORD_NUM_ELEM 9
|
#define STATIS_RECORD_NUM_ELEM 9
|
||||||
typedef union {
|
typedef union {
|
||||||
int64_t aData[STATIS_RECORD_NUM_ELEM];
|
int64_t dataArr[STATIS_RECORD_NUM_ELEM];
|
||||||
struct {
|
struct {
|
||||||
int64_t suid;
|
int64_t suid;
|
||||||
int64_t uid;
|
int64_t uid;
|
||||||
|
|
|
@ -417,8 +417,8 @@ static int32_t tsdbCloseCommitter(SCommitter2 *committer, int32_t eno) {
|
||||||
ASSERT(committer->dataWriter == NULL);
|
ASSERT(committer->dataWriter == NULL);
|
||||||
ASSERT(committer->sttWriter == NULL);
|
ASSERT(committer->sttWriter == NULL);
|
||||||
ASSERT(committer->iterMerger == NULL);
|
ASSERT(committer->iterMerger == NULL);
|
||||||
TARRAY2_FREE(committer->iterArray);
|
TARRAY2_DESTROY(committer->iterArray, NULL);
|
||||||
TARRAY2_FREE(committer->fopArray);
|
TARRAY2_DESTROY(committer->fopArray, NULL);
|
||||||
tsdbFSDestroyCopySnapshot(&committer->fsetArr);
|
tsdbFSDestroyCopySnapshot(&committer->fsetArr);
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
|
|
|
@ -135,8 +135,8 @@ _exit:
|
||||||
int32_t tsdbDataFileReaderClose(SDataFileReader **reader) {
|
int32_t tsdbDataFileReaderClose(SDataFileReader **reader) {
|
||||||
if (reader[0] == NULL) return 0;
|
if (reader[0] == NULL) return 0;
|
||||||
|
|
||||||
TARRAY2_FREE(reader[0]->dataBlkArray);
|
TARRAY2_DESTROY(reader[0]->dataBlkArray, NULL);
|
||||||
TARRAY2_FREE(reader[0]->blockIdxArray);
|
TARRAY2_DESTROY(reader[0]->blockIdxArray, NULL);
|
||||||
|
|
||||||
for (int32_t i = 0; i < TSDB_FTYPE_MAX; ++i) {
|
for (int32_t i = 0; i < TSDB_FTYPE_MAX; ++i) {
|
||||||
tsdbCloseFile(&reader[0]->fd[i]);
|
tsdbCloseFile(&reader[0]->fd[i]);
|
||||||
|
@ -389,13 +389,13 @@ static int32_t tsdbDataFileWriterDoClose(SDataFileWriter *writer) {
|
||||||
tsdbDataFileReaderClose(&writer->ctx->reader);
|
tsdbDataFileReaderClose(&writer->ctx->reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
tTombBlockFree(writer->tData);
|
tTombBlockDestroy(writer->tData);
|
||||||
tStatisBlockFree(writer->sData);
|
tStatisBlockFree(writer->sData);
|
||||||
tBlockDataDestroy(writer->bData);
|
tBlockDataDestroy(writer->bData);
|
||||||
TARRAY2_FREE(writer->tombBlkArray);
|
TARRAY2_DESTROY(writer->tombBlkArray, NULL);
|
||||||
TARRAY2_FREE(writer->dataBlkArray);
|
TARRAY2_DESTROY(writer->dataBlkArray, NULL);
|
||||||
TARRAY2_FREE(writer->blockIdxArray);
|
TARRAY2_DESTROY(writer->blockIdxArray, NULL);
|
||||||
tTombBlockFree(writer->ctx->tData);
|
tTombBlockDestroy(writer->ctx->tData);
|
||||||
|
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(writer->bufArr); ++i) {
|
for (int32_t i = 0; i < ARRAY_SIZE(writer->bufArr); ++i) {
|
||||||
tFree(writer->bufArr[i]);
|
tFree(writer->bufArr[i]);
|
||||||
|
@ -587,7 +587,7 @@ static int32_t tsdbDataFileWriteDataBlock(SDataFileWriter *writer, SBlockData *b
|
||||||
writer->files[TSDB_FTYPE_SMA].size += dataBlk->smaInfo.size;
|
writer->files[TSDB_FTYPE_SMA].size += dataBlk->smaInfo.size;
|
||||||
}
|
}
|
||||||
|
|
||||||
TARRAY2_FREE(smaArr);
|
TARRAY2_DESTROY(smaArr, NULL);
|
||||||
|
|
||||||
// to dataBlkArray
|
// to dataBlkArray
|
||||||
code = TARRAY2_APPEND_PTR(writer->dataBlkArray, dataBlk);
|
code = TARRAY2_APPEND_PTR(writer->dataBlkArray, dataBlk);
|
||||||
|
@ -857,12 +857,12 @@ static int32_t tsdbDataFileDoWriteTombBlock(SDataFileWriter *writer) {
|
||||||
|
|
||||||
STombBlk tombBlk[1] = {{
|
STombBlk tombBlk[1] = {{
|
||||||
.numRec = TOMB_BLOCK_SIZE(writer->tData),
|
.numRec = TOMB_BLOCK_SIZE(writer->tData),
|
||||||
.minTid =
|
.minTbid =
|
||||||
{
|
{
|
||||||
.suid = TARRAY2_FIRST(writer->tData->suid),
|
.suid = TARRAY2_FIRST(writer->tData->suid),
|
||||||
.uid = TARRAY2_FIRST(writer->tData->uid),
|
.uid = TARRAY2_FIRST(writer->tData->uid),
|
||||||
},
|
},
|
||||||
.maxTid =
|
.maxTbid =
|
||||||
{
|
{
|
||||||
.suid = TARRAY2_LAST(writer->tData->suid),
|
.suid = TARRAY2_LAST(writer->tData->suid),
|
||||||
.uid = TARRAY2_LAST(writer->tData->uid),
|
.uid = TARRAY2_LAST(writer->tData->uid),
|
||||||
|
@ -961,7 +961,7 @@ static int32_t tsdbDataFileDoWriteTombRecord(SDataFileWriter *writer, const STom
|
||||||
.ekey = TARRAY2_GET(writer->ctx->tData->ekey, writer->ctx->iRowTomb),
|
.ekey = TARRAY2_GET(writer->ctx->tData->ekey, writer->ctx->iRowTomb),
|
||||||
}};
|
}};
|
||||||
|
|
||||||
int32_t c = tTombRecordCmpr(record, record1);
|
int32_t c = tTombRecordCompare(record, record1);
|
||||||
if (c < 0) {
|
if (c < 0) {
|
||||||
break;
|
break;
|
||||||
} else if (c > 0) {
|
} else if (c > 0) {
|
||||||
|
|
|
@ -56,8 +56,8 @@ static int32_t create_fs(STsdb *pTsdb, STFileSystem **fs) {
|
||||||
|
|
||||||
static int32_t destroy_fs(STFileSystem **fs) {
|
static int32_t destroy_fs(STFileSystem **fs) {
|
||||||
if (fs[0] == NULL) return 0;
|
if (fs[0] == NULL) return 0;
|
||||||
TARRAY2_FREE(fs[0]->fSetArr);
|
TARRAY2_DESTROY(fs[0]->fSetArr, NULL);
|
||||||
TARRAY2_FREE(fs[0]->fSetArrTmp);
|
TARRAY2_DESTROY(fs[0]->fSetArrTmp, NULL);
|
||||||
tsem_destroy(&fs[0]->canEdit);
|
tsem_destroy(&fs[0]->canEdit);
|
||||||
taosMemoryFree(fs[0]);
|
taosMemoryFree(fs[0]);
|
||||||
fs[0] = NULL;
|
fs[0] = NULL;
|
||||||
|
@ -664,7 +664,7 @@ int32_t tsdbFSCreateCopySnapshot(STFileSystem *fs, TFileSetArray **fsetArr) {
|
||||||
taosThreadRwlockUnlock(&fs->tsdb->rwLock);
|
taosThreadRwlockUnlock(&fs->tsdb->rwLock);
|
||||||
|
|
||||||
if (code) {
|
if (code) {
|
||||||
TARRAY2_CLEAR_FREE(fsetArr[0], tsdbTFileSetClear);
|
TARRAY2_DESTROY(fsetArr[0], tsdbTFileSetClear);
|
||||||
taosMemoryFree(fsetArr[0]);
|
taosMemoryFree(fsetArr[0]);
|
||||||
fsetArr[0] = NULL;
|
fsetArr[0] = NULL;
|
||||||
}
|
}
|
||||||
|
@ -673,7 +673,7 @@ int32_t tsdbFSCreateCopySnapshot(STFileSystem *fs, TFileSetArray **fsetArr) {
|
||||||
|
|
||||||
int32_t tsdbFSDestroyCopySnapshot(TFileSetArray **fsetArr) {
|
int32_t tsdbFSDestroyCopySnapshot(TFileSetArray **fsetArr) {
|
||||||
if (fsetArr[0]) {
|
if (fsetArr[0]) {
|
||||||
TARRAY2_CLEAR_FREE(fsetArr[0], tsdbTFileSetClear);
|
TARRAY2_DESTROY(fsetArr[0], tsdbTFileSetClear);
|
||||||
fsetArr[0] = NULL;
|
fsetArr[0] = NULL;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -24,7 +24,7 @@ static int32_t tsdbSttLvlInit(int32_t level, SSttLvl **lvl) {
|
||||||
|
|
||||||
static void tsdbSttLvlClearFObj(void *data) { tsdbTFileObjUnref(*(STFileObj **)data); }
|
static void tsdbSttLvlClearFObj(void *data) { tsdbTFileObjUnref(*(STFileObj **)data); }
|
||||||
static int32_t tsdbSttLvlClear(SSttLvl **lvl) {
|
static int32_t tsdbSttLvlClear(SSttLvl **lvl) {
|
||||||
TARRAY2_CLEAR_FREE(lvl[0]->fobjArr, tsdbSttLvlClearFObj);
|
TARRAY2_DESTROY(lvl[0]->fobjArr, tsdbSttLvlClearFObj);
|
||||||
taosMemoryFree(lvl[0]);
|
taosMemoryFree(lvl[0]);
|
||||||
lvl[0] = NULL;
|
lvl[0] = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -50,7 +50,7 @@ static int32_t tsdbSttLvlInitEx(STsdb *pTsdb, const SSttLvl *lvl1, SSttLvl **lvl
|
||||||
|
|
||||||
static void tsdbSttLvlRemoveFObj(void *data) { tsdbTFileObjRemove(*(STFileObj **)data); }
|
static void tsdbSttLvlRemoveFObj(void *data) { tsdbTFileObjRemove(*(STFileObj **)data); }
|
||||||
static void tsdbSttLvlRemove(SSttLvl **lvl) {
|
static void tsdbSttLvlRemove(SSttLvl **lvl) {
|
||||||
TARRAY2_CLEAR_FREE(lvl[0]->fobjArr, tsdbSttLvlRemoveFObj);
|
TARRAY2_DESTROY(lvl[0]->fobjArr, tsdbSttLvlRemoveFObj);
|
||||||
taosMemoryFree(lvl[0]);
|
taosMemoryFree(lvl[0]);
|
||||||
lvl[0] = NULL;
|
lvl[0] = NULL;
|
||||||
}
|
}
|
||||||
|
@ -443,7 +443,7 @@ int32_t tsdbTFileSetClear(STFileSet **fset) {
|
||||||
tsdbTFileObjUnref(fset[0]->farr[ftype]);
|
tsdbTFileObjUnref(fset[0]->farr[ftype]);
|
||||||
}
|
}
|
||||||
|
|
||||||
TARRAY2_CLEAR_FREE(fset[0]->lvlArr, tsdbSttLvlClear);
|
TARRAY2_DESTROY(fset[0]->lvlArr, tsdbSttLvlClear);
|
||||||
|
|
||||||
taosMemoryFree(fset[0]);
|
taosMemoryFree(fset[0]);
|
||||||
fset[0] = NULL;
|
fset[0] = NULL;
|
||||||
|
@ -457,7 +457,7 @@ int32_t tsdbTFileSetRemove(STFileSet **fset) {
|
||||||
tsdbTFileObjRemove(fset[0]->farr[ftype]);
|
tsdbTFileObjRemove(fset[0]->farr[ftype]);
|
||||||
}
|
}
|
||||||
|
|
||||||
TARRAY2_CLEAR_FREE(fset[0]->lvlArr, tsdbSttLvlRemove);
|
TARRAY2_DESTROY(fset[0]->lvlArr, tsdbSttLvlRemove);
|
||||||
taosMemoryFree(fset[0]);
|
taosMemoryFree(fset[0]);
|
||||||
fset[0] = NULL;
|
fset[0] = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -246,8 +246,8 @@ static int32_t tsdbDataTombIterNext(STsdbIter *iter, const TABLEID *tbid) {
|
||||||
iter->dataTomb->tombBlkArrayIdx++) {
|
iter->dataTomb->tombBlkArrayIdx++) {
|
||||||
const STombBlk *tombBlk = TARRAY2_GET_PTR(iter->dataTomb->tombBlkArray, iter->dataTomb->tombBlkArrayIdx);
|
const STombBlk *tombBlk = TARRAY2_GET_PTR(iter->dataTomb->tombBlkArray, iter->dataTomb->tombBlkArrayIdx);
|
||||||
|
|
||||||
if (tbid && tbid->suid == tombBlk->minTid.suid && tbid->uid == tombBlk->minTid.uid &&
|
if (tbid && tbid->suid == tombBlk->minTbid.suid && tbid->uid == tombBlk->minTbid.uid &&
|
||||||
tbid->suid == tombBlk->maxTid.suid && tbid->uid == tombBlk->maxTid.uid) {
|
tbid->suid == tombBlk->maxTbid.suid && tbid->uid == tombBlk->maxTbid.uid) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -372,8 +372,8 @@ static int32_t tsdbSttTombIterNext(STsdbIter *iter, const TABLEID *tbid) {
|
||||||
iter->sttTomb->tombBlkArrayIdx++) {
|
iter->sttTomb->tombBlkArrayIdx++) {
|
||||||
const STombBlk *tombBlk = TARRAY2_GET_PTR(iter->sttTomb->tombBlkArray, iter->sttTomb->tombBlkArrayIdx);
|
const STombBlk *tombBlk = TARRAY2_GET_PTR(iter->sttTomb->tombBlkArray, iter->sttTomb->tombBlkArrayIdx);
|
||||||
|
|
||||||
if (tbid && tbid->suid == tombBlk->minTid.suid && tbid->uid == tombBlk->minTid.uid &&
|
if (tbid && tbid->suid == tombBlk->minTbid.suid && tbid->uid == tombBlk->minTbid.uid &&
|
||||||
tbid->suid == tombBlk->maxTid.suid && tbid->uid == tombBlk->maxTid.uid) {
|
tbid->suid == tombBlk->maxTbid.suid && tbid->uid == tombBlk->maxTbid.uid) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -453,12 +453,12 @@ int32_t tsdbIterOpen(const STsdbIterConfig *config, STsdbIter **iter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbSttTombIterClose(STsdbIter *iter) {
|
static int32_t tsdbSttTombIterClose(STsdbIter *iter) {
|
||||||
tTombBlockFree(iter->sttTomb->tData);
|
tTombBlockDestroy(iter->sttTomb->tData);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbDataTombIterClose(STsdbIter *iter) {
|
static int32_t tsdbDataTombIterClose(STsdbIter *iter) {
|
||||||
tTombBlockFree(iter->dataTomb->tData);
|
tTombBlockDestroy(iter->dataTomb->tData);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,9 +93,9 @@ static int32_t tsdbMergerClose(SMerger *merger) {
|
||||||
ASSERT(TARRAY2_SIZE(merger->sttReaderArr) == 0);
|
ASSERT(TARRAY2_SIZE(merger->sttReaderArr) == 0);
|
||||||
|
|
||||||
// clear the merge
|
// clear the merge
|
||||||
TARRAY2_FREE(merger->dataIterArr);
|
TARRAY2_DESTROY(merger->dataIterArr, NULL);
|
||||||
TARRAY2_FREE(merger->sttReaderArr);
|
TARRAY2_DESTROY(merger->sttReaderArr, NULL);
|
||||||
TARRAY2_FREE(merger->fopArr);
|
TARRAY2_DESTROY(merger->fopArr, NULL);
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(merger->ctx->bData); i++) {
|
for (int32_t i = 0; i < ARRAY_SIZE(merger->ctx->bData); i++) {
|
||||||
tBlockDataDestroy(merger->ctx->bData + i);
|
tBlockDataDestroy(merger->ctx->bData + i);
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,9 +69,9 @@ _exit:
|
||||||
|
|
||||||
static int32_t tsdbSttSegReaderClose(SSttSegReader **reader) {
|
static int32_t tsdbSttSegReaderClose(SSttSegReader **reader) {
|
||||||
if (reader[0]) {
|
if (reader[0]) {
|
||||||
TARRAY2_FREE(reader[0]->sttBlkArray);
|
TARRAY2_DESTROY(reader[0]->sttBlkArray, NULL);
|
||||||
TARRAY2_FREE(reader[0]->tombBlkArray);
|
TARRAY2_DESTROY(reader[0]->tombBlkArray, NULL);
|
||||||
TARRAY2_FREE(reader[0]->statisBlkArray);
|
TARRAY2_DESTROY(reader[0]->statisBlkArray, NULL);
|
||||||
taosMemoryFree(reader[0]);
|
taosMemoryFree(reader[0]);
|
||||||
reader[0] = NULL;
|
reader[0] = NULL;
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ int32_t tsdbSttFileReaderClose(SSttFileReader **reader) {
|
||||||
tFree(reader[0]->bufArr[i]);
|
tFree(reader[0]->bufArr[i]);
|
||||||
}
|
}
|
||||||
tsdbCloseFile(&reader[0]->fd);
|
tsdbCloseFile(&reader[0]->fd);
|
||||||
TARRAY2_CLEAR_FREE(reader[0]->readerArray, tsdbSttSegReaderClose);
|
TARRAY2_DESTROY(reader[0]->readerArray, tsdbSttSegReaderClose);
|
||||||
taosMemoryFree(reader[0]);
|
taosMemoryFree(reader[0]);
|
||||||
reader[0] = NULL;
|
reader[0] = NULL;
|
||||||
}
|
}
|
||||||
|
@ -454,12 +454,12 @@ static int32_t tsdbSttFileDoWriteTombBlock(SSttFileWriter *writer) {
|
||||||
|
|
||||||
STombBlk tombBlk[1] = {{
|
STombBlk tombBlk[1] = {{
|
||||||
.numRec = TOMB_BLOCK_SIZE(writer->tData),
|
.numRec = TOMB_BLOCK_SIZE(writer->tData),
|
||||||
.minTid =
|
.minTbid =
|
||||||
{
|
{
|
||||||
.suid = TARRAY2_FIRST(writer->tData->suid),
|
.suid = TARRAY2_FIRST(writer->tData->suid),
|
||||||
.uid = TARRAY2_FIRST(writer->tData->uid),
|
.uid = TARRAY2_FIRST(writer->tData->uid),
|
||||||
},
|
},
|
||||||
.maxTid =
|
.maxTbid =
|
||||||
{
|
{
|
||||||
.suid = TARRAY2_LAST(writer->tData->suid),
|
.suid = TARRAY2_LAST(writer->tData->suid),
|
||||||
.uid = TARRAY2_LAST(writer->tData->uid),
|
.uid = TARRAY2_LAST(writer->tData->uid),
|
||||||
|
@ -625,12 +625,12 @@ static void tsdbSttFWriterDoClose(SSttFileWriter *writer) {
|
||||||
}
|
}
|
||||||
tDestroyTSchema(writer->skmRow->pTSchema);
|
tDestroyTSchema(writer->skmRow->pTSchema);
|
||||||
tDestroyTSchema(writer->skmTb->pTSchema);
|
tDestroyTSchema(writer->skmTb->pTSchema);
|
||||||
tTombBlockFree(writer->tData);
|
tTombBlockDestroy(writer->tData);
|
||||||
tStatisBlockFree(writer->sData);
|
tStatisBlockFree(writer->sData);
|
||||||
tBlockDataDestroy(writer->bData);
|
tBlockDataDestroy(writer->bData);
|
||||||
TARRAY2_FREE(writer->tombBlkArray);
|
TARRAY2_DESTROY(writer->tombBlkArray, NULL);
|
||||||
TARRAY2_FREE(writer->statisBlkArray);
|
TARRAY2_DESTROY(writer->statisBlkArray, NULL);
|
||||||
TARRAY2_FREE(writer->sttBlkArray);
|
TARRAY2_DESTROY(writer->sttBlkArray, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbSttFileDoUpdateHeader(SSttFileWriter *writer) {
|
static int32_t tsdbSttFileDoUpdateHeader(SSttFileWriter *writer) {
|
||||||
|
|
|
@ -16,36 +16,36 @@
|
||||||
#include "dev.h"
|
#include "dev.h"
|
||||||
|
|
||||||
// SDelBlock ----------
|
// SDelBlock ----------
|
||||||
int32_t tTombBlockInit(STombBlock *delBlock) {
|
int32_t tTombBlockInit(STombBlock *tombBlock) {
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(delBlock->dataArr); ++i) {
|
for (int32_t i = 0; i < TOMB_RECORD_ELEM_NUM; ++i) {
|
||||||
TARRAY2_INIT(&delBlock->dataArr[i]);
|
TARRAY2_INIT(&tombBlock->dataArr[i]);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tTombBlockFree(STombBlock *delBlock) {
|
int32_t tTombBlockDestroy(STombBlock *tombBlock) {
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(delBlock->dataArr); ++i) {
|
for (int32_t i = 0; i < TOMB_RECORD_ELEM_NUM; ++i) {
|
||||||
TARRAY2_FREE(&delBlock->dataArr[i]);
|
TARRAY2_DESTROY(&tombBlock->dataArr[i], NULL);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tTombBlockClear(STombBlock *delBlock) {
|
int32_t tTombBlockClear(STombBlock *tombBlock) {
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(delBlock->dataArr); ++i) {
|
for (int32_t i = 0; i < TOMB_RECORD_ELEM_NUM; ++i) {
|
||||||
TARRAY2_CLEAR(&delBlock->dataArr[i], NULL);
|
TARRAY2_CLEAR(&tombBlock->dataArr[i], NULL);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tTombBlockPut(STombBlock *delBlock, const STombRecord *delRecord) {
|
int32_t tTombBlockPut(STombBlock *tombBlock, const STombRecord *record) {
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(delBlock->dataArr); ++i) {
|
for (int32_t i = 0; i < TOMB_RECORD_ELEM_NUM; ++i) {
|
||||||
int32_t code = TARRAY2_APPEND(&delBlock->dataArr[i], delRecord->aData[i]);
|
int32_t code = TARRAY2_APPEND(&tombBlock->dataArr[i], record->dataArr[i]);
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tTombRecordCmpr(const STombRecord *r1, const STombRecord *r2) {
|
int32_t tTombRecordCompare(const STombRecord *r1, const STombRecord *r2) {
|
||||||
if (r1->suid < r2->suid) return -1;
|
if (r1->suid < r2->suid) return -1;
|
||||||
if (r1->suid > r2->suid) return 1;
|
if (r1->suid > r2->suid) return 1;
|
||||||
if (r1->uid < r2->uid) return -1;
|
if (r1->uid < r2->uid) return -1;
|
||||||
|
@ -65,7 +65,7 @@ int32_t tStatisBlockInit(STbStatisBlock *statisBlock) {
|
||||||
|
|
||||||
int32_t tStatisBlockFree(STbStatisBlock *statisBlock) {
|
int32_t tStatisBlockFree(STbStatisBlock *statisBlock) {
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(statisBlock->dataArr); ++i) {
|
for (int32_t i = 0; i < ARRAY_SIZE(statisBlock->dataArr); ++i) {
|
||||||
TARRAY2_FREE(&statisBlock->dataArr[i]);
|
TARRAY2_DESTROY(&statisBlock->dataArr[i], NULL);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ int32_t tStatisBlockClear(STbStatisBlock *statisBlock) {
|
||||||
|
|
||||||
int32_t tStatisBlockPut(STbStatisBlock *statisBlock, const STbStatisRecord *statisRecord) {
|
int32_t tStatisBlockPut(STbStatisBlock *statisBlock, const STbStatisRecord *statisRecord) {
|
||||||
for (int32_t i = 0; i < ARRAY_SIZE(statisBlock->dataArr); ++i) {
|
for (int32_t i = 0; i < ARRAY_SIZE(statisBlock->dataArr); ++i) {
|
||||||
int32_t code = TARRAY2_APPEND(&statisBlock->dataArr[i], statisRecord->aData[i]);
|
int32_t code = TARRAY2_APPEND(&statisBlock->dataArr[i], statisRecord->dataArr[i]);
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue