adjust more code

This commit is contained in:
Hongze Cheng 2022-11-29 15:23:11 +08:00
parent 8ca5e0269c
commit 05eb8dfecc
2 changed files with 43 additions and 80 deletions

View File

@ -6682,7 +6682,7 @@ static int32_t tEncodeSSubmitTbData(SEncoder *pCoder, const SSubmitTbData *pSubm
return 0; return 0;
} }
static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData *pSubmitTbData, int8_t colFmt) { static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData *pSubmitTbData) {
int32_t code = 0; int32_t code = 0;
if (tStartDecode(pCoder) < 0) { if (tStartDecode(pCoder) < 0) {
@ -6774,36 +6774,8 @@ int32_t tDecodeSSubmitReq2(SDecoder *pCoder, SSubmitReq2 *pReq) {
goto _exit; goto _exit;
} }
if (tDecodeI32v(pCoder, &pReq->flag) < 0) { uint64_t nSubmitTbData;
code = TSDB_CODE_INVALID_MSG; if (tDecodeU64v(pCoder, &nSubmitTbData) < 0) {
goto _exit;
}
if (pReq->flag & SUBMIT_REQ_AUTO_CREATE_TABLE) {
int64_t nCreateTbReq = 0;
if (tDecodeI64v(pCoder, &nCreateTbReq) < 0) {
code = TSDB_CODE_INVALID_MSG;
goto _exit;
}
pReq->aCreateTbReq = taosArrayInit(nCreateTbReq, sizeof(SVCreateTbReq));
if (pReq->aCreateTbReq == NULL) {
code = TSDB_CODE_OUT_OF_MEMORY;
goto _exit;
}
for (int64_t i = 0; i < nCreateTbReq; ++i) {
SVCreateTbReq *pCreateTbReq = taosArrayReserve(pReq->aCreateTbReq, 1);
if (tDecodeSVCreateTbReq(pCoder, pCreateTbReq) < 0) {
code = TSDB_CODE_INVALID_MSG;
goto _exit;
}
}
}
int64_t nSubmitTbData = 0;
if (tDecodeI64v(pCoder, &nSubmitTbData) < 0) {
code = TSDB_CODE_INVALID_MSG; code = TSDB_CODE_INVALID_MSG;
goto _exit; goto _exit;
} }
@ -6814,9 +6786,8 @@ int32_t tDecodeSSubmitReq2(SDecoder *pCoder, SSubmitReq2 *pReq) {
goto _exit; goto _exit;
} }
for (int64_t i = 0; i < nSubmitTbData; ++i) { for (uint64_t i = 0; i < nSubmitTbData; i++) {
SSubmitTbData *pSubmitTbData = taosArrayReserve(pReq->aSubmitTbData, 1); if (tDecodeSSubmitTbData(pCoder, taosArrayReserve(pReq->aSubmitTbData, 1)) < 0) {
if (tDecodeSSubmitTbData(pCoder, pSubmitTbData, pReq->flag & SUBMIT_REQ_COLUMN_DATA_FORMAT) < 0) {
code = TSDB_CODE_INVALID_MSG; code = TSDB_CODE_INVALID_MSG;
goto _exit; goto _exit;
} }
@ -6826,28 +6797,21 @@ int32_t tDecodeSSubmitReq2(SDecoder *pCoder, SSubmitReq2 *pReq) {
_exit: _exit:
if (code) { if (code) {
*ppReq = NULL; if (pReq->aSubmitTbData) {
if (pReq) { // todo
if (pReq->aCreateTbReq) { taosArrayDestroy(pReq->aSubmitTbData);
taosArrayDestroy(pReq->aCreateTbReq); pReq->aSubmitTbData = NULL;
}
if (pReq->aSubmitTbData) {
taosArrayDestroy(pReq->aSubmitTbData);
}
taosMemoryFree(pReq);
} }
} else {
*ppReq = pReq;
} }
return code; return code;
} }
void destroySSubmitTbData(SSubmitTbData *pTbData) { void destroySSubmitTbData(SSubmitTbData *pTbData) {
if (pTbData->isColFmt) { // if (pTbData->isColFmt) {
// todo // // todo
} else { // } else {
taosArrayDestroyP(pTbData->aRowP, (FDelete)tRowDestroy); // taosArrayDestroyP(pTbData->aRowP, (FDelete)tRowDestroy);
} // }
} }
void tDestroySSubmitTbData(SSubmitTbData *pTbData) { void tDestroySSubmitTbData(SSubmitTbData *pTbData) {
@ -6861,7 +6825,6 @@ void tDestroySSubmitTbData(SSubmitTbData *pTbData) {
void tDestroySSubmitReq2(SSubmitReq2 *pReq) { void tDestroySSubmitReq2(SSubmitReq2 *pReq) {
if (NULL == pReq) return; if (NULL == pReq) return;
taosArrayDestroyEx(pReq->aCreateTbReq, (FDelete)tdDestroySVCreateTbReq);
taosArrayDestroyEx(pReq->aSubmitTbData, (FDelete)destroySSubmitTbData); taosArrayDestroyEx(pReq->aSubmitTbData, (FDelete)destroySSubmitTbData);
taosMemoryFree(pReq); taosMemoryFree(pReq);
} }

View File

@ -826,41 +826,41 @@ static int32_t vnodeProcessSubmitReq(SVnode *pVnode, int64_t version, void *pReq
#if 1 #if 1
int32_t code = 0; int32_t code = 0;
SSubmitReq2 *pSubmitReq = NULL; SSubmitReq2 *pSubmitReq = &(SSubmitReq2){0};
SSubmitRsp2 *pSubmitRsp = NULL; SSubmitRsp2 *pSubmitRsp = NULL;
SArray *newTbUids = NULL; SArray *newTbUids = NULL;
// decode // decode
SDecoder dc = {0}; SDecoder dc = {0};
tDecoderInit(&dc, (char *)pReq + sizeof(SMsgHead), len - sizeof(SMsgHead)); tDecoderInit(&dc, (char *)pReq + sizeof(SMsgHead), len - sizeof(SMsgHead));
if (tDecodeSSubmitReq2(&dc, &pSubmitReq) < 0) { if (tDecodeSSubmitReq2(&dc, pSubmitReq) < 0) {
code = TSDB_CODE_INVALID_MSG; code = TSDB_CODE_INVALID_MSG;
goto _exit; goto _exit;
} }
tDecoderClear(&dc); tDecoderClear(&dc);
// init // // init
code = tCreateSSubmitRsp2(&pSubmitRsp); // code = tCreateSSubmitRsp2(&pSubmitRsp);
if (code) goto _exit; // if (code) goto _exit;
// auto create table // // auto create table
for (int32_t iCreateTbReq = 0; iCreateTbReq < taosArrayGetSize(pSubmitReq->aCreateTbReq); iCreateTbReq++) { // for (int32_t iCreateTbReq = 0; iCreateTbReq < taosArrayGetSize(pSubmitReq->aCreateTbReq); iCreateTbReq++) {
SVCreateTbReq *pCreateTbReq = taosArrayGet(pSubmitReq->aCreateTbReq, iCreateTbReq); // SVCreateTbReq *pCreateTbReq = taosArrayGet(pSubmitReq->aCreateTbReq, iCreateTbReq);
SVCreateTbRsp *pCreateTbRsp = taosArrayReserve(pSubmitRsp->aCreateTbRsp, 1); // SVCreateTbRsp *pCreateTbRsp = taosArrayReserve(pSubmitRsp->aCreateTbRsp, 1);
if (pCreateTbRsp == NULL) { // if (pCreateTbRsp == NULL) {
code = TSDB_CODE_TDB_OUT_OF_MEMORY; // code = TSDB_CODE_TDB_OUT_OF_MEMORY;
goto _exit; // goto _exit;
} // }
if (metaCreateTable(pVnode->pMeta, version, pCreateTbReq, &pCreateTbRsp->pMeta) < 0) { // if (metaCreateTable(pVnode->pMeta, version, pCreateTbReq, &pCreateTbRsp->pMeta) < 0) {
if (terrno != TSDB_CODE_TDB_TABLE_ALREADY_EXIST) { // if (terrno != TSDB_CODE_TDB_TABLE_ALREADY_EXIST) {
// todo // // todo
} // }
} else { // } else {
// todo // // todo
} // }
} // }
// // check // // check
// for (int32_t i = 0; i < taosArrayGetSize(pSubmitReq->aSubmitTbData); ++i) { // for (int32_t i = 0; i < taosArrayGetSize(pSubmitReq->aSubmitTbData); ++i) {
@ -873,17 +873,17 @@ static int32_t vnodeProcessSubmitReq(SVnode *pVnode, int64_t version, void *pReq
// } // }
// } // }
// insert table data // // insert table data
for (int32_t iSubmitTbData = 0; iSubmitTbData < taosArrayGetSize(pSubmitReq->aSubmitTbData); iSubmitTbData++) { // for (int32_t iSubmitTbData = 0; iSubmitTbData < taosArrayGetSize(pSubmitReq->aSubmitTbData); iSubmitTbData++) {
SSubmitTbData *pSubmitTbData = taosArrayGet(pSubmitReq->aSubmitTbData, iSubmitTbData); // SSubmitTbData *pSubmitTbData = taosArrayGet(pSubmitReq->aSubmitTbData, iSubmitTbData);
SSubmitBlkRsp submitBlkRsp = {0}; // SSubmitBlkRsp submitBlkRsp = {0};
code = tsdbInsertTableData(pVnode->pTsdb, version, pSubmitTbData, &submitBlkRsp); // code = tsdbInsertTableData(pVnode->pTsdb, version, pSubmitTbData, &submitBlkRsp);
if (code) goto _exit; // if (code) goto _exit;
pSubmitRsp->affectedRows += taosArrayGetSize(pSubmitTbData->aRowP); // pSubmitRsp->affectedRows += taosArrayGetSize(pSubmitTbData->aRowP);
} // }
_exit: _exit:
if (code) { if (code) {