fix: coverity scan
This commit is contained in:
parent
7a6cf0b6f3
commit
8dbdeccc8f
|
@ -982,7 +982,7 @@ static int32_t tsdbDataFileDoWriteTableOldData(SDataFileWriter *writer, const TS
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (; writer->ctx->brinBlkArrayIdx < TARRAY2_SIZE(writer->ctx->brinBlkArray); writer->ctx->brinBlkArrayIdx++) {
|
if (writer->ctx->brinBlkArrayIdx < TARRAY2_SIZE(writer->ctx->brinBlkArray)) {
|
||||||
const SBrinBlk *brinBlk = TARRAY2_GET_PTR(writer->ctx->brinBlkArray, writer->ctx->brinBlkArrayIdx);
|
const SBrinBlk *brinBlk = TARRAY2_GET_PTR(writer->ctx->brinBlkArray, writer->ctx->brinBlkArrayIdx);
|
||||||
|
|
||||||
if (brinBlk->minTbid.uid != writer->ctx->tbid->uid) {
|
if (brinBlk->minTbid.uid != writer->ctx->tbid->uid) {
|
||||||
|
@ -995,7 +995,6 @@ static int32_t tsdbDataFileDoWriteTableOldData(SDataFileWriter *writer, const TS
|
||||||
|
|
||||||
writer->ctx->brinBlockIdx = 0;
|
writer->ctx->brinBlockIdx = 0;
|
||||||
writer->ctx->brinBlkArrayIdx++;
|
writer->ctx->brinBlkArrayIdx++;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1112,7 +1111,7 @@ static int32_t tsdbDataFileWriteTableDataBegin(SDataFileWriter *writer, const TA
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (; writer->ctx->brinBlkArrayIdx < TARRAY2_SIZE(writer->ctx->brinBlkArray); writer->ctx->brinBlkArrayIdx++) {
|
if (writer->ctx->brinBlkArrayIdx < TARRAY2_SIZE(writer->ctx->brinBlkArray)) {
|
||||||
const SBrinBlk *brinBlk = TARRAY2_GET_PTR(writer->ctx->brinBlkArray, writer->ctx->brinBlkArrayIdx);
|
const SBrinBlk *brinBlk = TARRAY2_GET_PTR(writer->ctx->brinBlkArray, writer->ctx->brinBlkArrayIdx);
|
||||||
|
|
||||||
code = tsdbDataFileReadBrinBlock(writer->ctx->reader, brinBlk, writer->ctx->brinBlock);
|
code = tsdbDataFileReadBrinBlock(writer->ctx->reader, brinBlk, writer->ctx->brinBlock);
|
||||||
|
@ -1120,7 +1119,6 @@ static int32_t tsdbDataFileWriteTableDataBegin(SDataFileWriter *writer, const TA
|
||||||
|
|
||||||
writer->ctx->brinBlockIdx = 0;
|
writer->ctx->brinBlockIdx = 0;
|
||||||
writer->ctx->brinBlkArrayIdx++;
|
writer->ctx->brinBlkArrayIdx++;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1253,7 +1251,7 @@ static int32_t tsdbDataFileDoWriteTombRecord(SDataFileWriter *writer, const STom
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (; writer->ctx->tombBlkArrayIdx < TARRAY2_SIZE(writer->ctx->tombBlkArray); ++writer->ctx->tombBlkArrayIdx) {
|
if (writer->ctx->tombBlkArrayIdx < TARRAY2_SIZE(writer->ctx->tombBlkArray)) {
|
||||||
const STombBlk *tombBlk = TARRAY2_GET_PTR(writer->ctx->tombBlkArray, writer->ctx->tombBlkArrayIdx);
|
const STombBlk *tombBlk = TARRAY2_GET_PTR(writer->ctx->tombBlkArray, writer->ctx->tombBlkArrayIdx);
|
||||||
|
|
||||||
code = tsdbDataFileReadTombBlock(writer->ctx->reader, tombBlk, writer->ctx->tombBlock);
|
code = tsdbDataFileReadTombBlock(writer->ctx->reader, tombBlk, writer->ctx->tombBlock);
|
||||||
|
@ -1261,7 +1259,6 @@ static int32_t tsdbDataFileDoWriteTombRecord(SDataFileWriter *writer, const STom
|
||||||
|
|
||||||
writer->ctx->tombBlockIdx = 0;
|
writer->ctx->tombBlockIdx = 0;
|
||||||
writer->ctx->tombBlkArrayIdx++;
|
writer->ctx->tombBlkArrayIdx++;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -174,11 +174,17 @@ int32_t save_fs(const TFileSetArray *arr, const char *fname) {
|
||||||
|
|
||||||
// fset
|
// fset
|
||||||
cJSON *ajson = cJSON_AddArrayToObject(json, "fset");
|
cJSON *ajson = cJSON_AddArrayToObject(json, "fset");
|
||||||
if (!ajson) TSDB_CHECK_CODE(code = TSDB_CODE_OUT_OF_MEMORY, lino, _exit);
|
if (!ajson) {
|
||||||
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
}
|
||||||
const STFileSet *fset;
|
const STFileSet *fset;
|
||||||
TARRAY2_FOREACH(arr, fset) {
|
TARRAY2_FOREACH(arr, fset) {
|
||||||
cJSON *item = cJSON_CreateObject();
|
cJSON *item = cJSON_CreateObject();
|
||||||
if (!item) TSDB_CHECK_CODE(code = TSDB_CODE_OUT_OF_MEMORY, lino, _exit);
|
if (!item) {
|
||||||
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
}
|
||||||
cJSON_AddItemToArray(ajson, item);
|
cJSON_AddItemToArray(ajson, item);
|
||||||
|
|
||||||
code = tsdbTFileSetToJson(fset, item);
|
code = tsdbTFileSetToJson(fset, item);
|
||||||
|
@ -231,7 +237,8 @@ static int32_t load_fs(STsdb *pTsdb, const char *fname, TFileSetArray *arr) {
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
TSDB_CHECK_CODE(code = TSDB_CODE_FILE_CORRUPTED, lino, _exit);
|
code = TSDB_CODE_FILE_CORRUPTED;
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
}
|
}
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
|
@ -312,7 +319,8 @@ static int32_t commit_edit(STFileSystem *fs) {
|
||||||
int32_t code;
|
int32_t code;
|
||||||
int32_t lino;
|
int32_t lino;
|
||||||
if ((code = taosRenameFile(current_t, current))) {
|
if ((code = taosRenameFile(current_t, current))) {
|
||||||
TSDB_CHECK_CODE(code = TAOS_SYSTEM_ERROR(code), lino, _exit);
|
code = TAOS_SYSTEM_ERROR(code);
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
}
|
}
|
||||||
|
|
||||||
code = apply_commit(fs);
|
code = apply_commit(fs);
|
||||||
|
@ -345,7 +353,8 @@ static int32_t abort_edit(STFileSystem *fs) {
|
||||||
int32_t code;
|
int32_t code;
|
||||||
int32_t lino;
|
int32_t lino;
|
||||||
if ((code = taosRemoveFile(fname))) {
|
if ((code = taosRemoveFile(fname))) {
|
||||||
TSDB_CHECK_CODE(code = TAOS_SYSTEM_ERROR(code), lino, _exit);
|
code = TAOS_SYSTEM_ERROR(code);
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
}
|
}
|
||||||
|
|
||||||
code = apply_abort(fs);
|
code = apply_abort(fs);
|
||||||
|
@ -398,7 +407,7 @@ static int32_t tsdbFSAddEntryToFileObjHash(STFileHash *hash, const char *fname)
|
||||||
STFileHashEntry *entry = taosMemoryMalloc(sizeof(*entry));
|
STFileHashEntry *entry = taosMemoryMalloc(sizeof(*entry));
|
||||||
if (entry == NULL) return TSDB_CODE_OUT_OF_MEMORY;
|
if (entry == NULL) return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
|
||||||
strcpy(entry->fname, fname);
|
strncpy(entry->fname, fname, TSDB_FILENAME_LEN);
|
||||||
|
|
||||||
uint32_t idx = MurmurHash3_32(fname, strlen(fname)) % hash->numBucket;
|
uint32_t idx = MurmurHash3_32(fname, strlen(fname)) % hash->numBucket;
|
||||||
|
|
||||||
|
@ -873,7 +882,7 @@ int32_t tsdbFSCreateCopySnapshot(STFileSystem *fs, TFileSetArray **fsetArr) {
|
||||||
STFileSet *fset1;
|
STFileSet *fset1;
|
||||||
|
|
||||||
fsetArr[0] = taosMemoryMalloc(sizeof(TFileSetArray));
|
fsetArr[0] = taosMemoryMalloc(sizeof(TFileSetArray));
|
||||||
if (fsetArr == NULL) return TSDB_CODE_OUT_OF_MEMORY;
|
if (fsetArr[0] == NULL) return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
|
||||||
TARRAY2_INIT(fsetArr[0]);
|
TARRAY2_INIT(fsetArr[0]);
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,8 @@ static int32_t tsdbSttLvlInitEx(STsdb *pTsdb, const SSttLvl *lvl1, SSttLvl **lvl
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
TARRAY2_APPEND(lvl[0]->fobjArr, fobj);
|
code = TARRAY2_APPEND(lvl[0]->fobjArr, fobj);
|
||||||
|
return code;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -185,7 +186,8 @@ static int32_t tsdbJsonToSttLvl(STsdb *pTsdb, const cJSON *json, SSttLvl **lvl)
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
TARRAY2_APPEND(lvl[0]->fobjArr, fobj);
|
code = TARRAY2_APPEND(lvl[0]->fobjArr, fobj);
|
||||||
|
if (code) return code;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -263,7 +265,8 @@ int32_t tsdbJsonToTFileSet(STsdb *pTsdb, const cJSON *json, STFileSet **fset) {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
TARRAY2_APPEND((*fset)->lvlArr, lvl);
|
code = TARRAY2_APPEND((*fset)->lvlArr, lvl);
|
||||||
|
if (code) return code;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return TSDB_CODE_FILE_CORRUPTED;
|
return TSDB_CODE_FILE_CORRUPTED;
|
||||||
|
@ -326,11 +329,12 @@ int32_t tsdbTFileSetEdit(STsdb *pTsdb, STFileSet *fset, const STFileOp *op) {
|
||||||
|
|
||||||
STFileObj tfobj = {.f[0] = {.cid = op->of.cid}}, *tfobjp = &tfobj;
|
STFileObj tfobj = {.f[0] = {.cid = op->of.cid}}, *tfobjp = &tfobj;
|
||||||
STFileObj **fobjPtr = TARRAY2_SEARCH(lvl->fobjArr, &tfobjp, tsdbTFileObjCmpr, TD_EQ);
|
STFileObj **fobjPtr = TARRAY2_SEARCH(lvl->fobjArr, &tfobjp, tsdbTFileObjCmpr, TD_EQ);
|
||||||
tfobjp = (fobjPtr ? *fobjPtr : NULL);
|
if (fobjPtr) {
|
||||||
|
tfobjp = *fobjPtr;
|
||||||
ASSERT(tfobjp);
|
tfobjp->f[0] = op->nf;
|
||||||
|
} else {
|
||||||
tfobjp->f[0] = op->nf;
|
tsdbError("file not found, cid:%" PRId64, op->of.cid);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
fset->farr[op->nf.type]->f[0] = op->nf;
|
fset->farr[op->nf.type]->f[0] = op->nf;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,8 +42,12 @@ static const struct {
|
||||||
};
|
};
|
||||||
|
|
||||||
void remove_file(const char *fname) {
|
void remove_file(const char *fname) {
|
||||||
taosRemoveFile(fname);
|
int32_t code = taosRemoveFile(fname);
|
||||||
tsdbInfo("file:%s is removed", fname);
|
if (code) {
|
||||||
|
tsdbError("file:%s remove failed", fname);
|
||||||
|
} else {
|
||||||
|
tsdbInfo("file:%s is removed", fname);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tfile_to_json(const STFile *file, cJSON *json) {
|
static int32_t tfile_to_json(const STFile *file, cJSON *json) {
|
||||||
|
|
|
@ -356,7 +356,8 @@ static int32_t tsdbSttIterOpen(STsdbIter *iter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
iter->sttData->sttBlkArrayIdx = 0;
|
iter->sttData->sttBlkArrayIdx = 0;
|
||||||
tBlockDataCreate(iter->sttData->blockData);
|
code = tBlockDataCreate(iter->sttData->blockData);
|
||||||
|
if (code) return code;
|
||||||
iter->sttData->blockDataIdx = 0;
|
iter->sttData->blockDataIdx = 0;
|
||||||
|
|
||||||
return tsdbSttIterNext(iter, NULL);
|
return tsdbSttIterNext(iter, NULL);
|
||||||
|
@ -381,7 +382,8 @@ static int32_t tsdbDataIterOpen(STsdbIter *iter) {
|
||||||
iter->dataData->brinBlockIdx = 0;
|
iter->dataData->brinBlockIdx = 0;
|
||||||
|
|
||||||
// SBlockData
|
// SBlockData
|
||||||
tBlockDataCreate(iter->dataData->blockData);
|
code = tBlockDataCreate(iter->dataData->blockData);
|
||||||
|
if (code) return code;
|
||||||
iter->dataData->blockDataIdx = 0;
|
iter->dataData->blockDataIdx = 0;
|
||||||
|
|
||||||
return tsdbDataIterNext(iter, NULL);
|
return tsdbDataIterNext(iter, NULL);
|
||||||
|
|
Loading…
Reference in New Issue