From fc74db1c858f81695fb49a2620652c423bc30bf7 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 5 Sep 2024 18:39:54 +0800 Subject: [PATCH] more code --- source/common/src/tmsg.c | 889 +++++++++++++++++++++++++-------------- 1 file changed, 564 insertions(+), 325 deletions(-) diff --git a/source/common/src/tmsg.c b/source/common/src/tmsg.c index 349a928b41..1b10ba3226 100644 --- a/source/common/src/tmsg.c +++ b/source/common/src/tmsg.c @@ -10975,15 +10975,12 @@ _exit: static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData *pSubmitTbData) { int32_t code = 0; + int32_t lino; int32_t flags; uint8_t version; - if (tStartDecode(pCoder) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } - - if (tDecodeI32v(pCoder, &flags) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(pCoder)); + TAOS_CHECK_EXIT(tDecodeI32v(pCoder, &flags)); pSubmitTbData->flags = flags & 0xff; version = (flags >> 8) & 0xff; @@ -10991,41 +10988,25 @@ static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData *pSubmitTbDa if (pSubmitTbData->flags & SUBMIT_REQ_AUTO_CREATE_TABLE) { pSubmitTbData->pCreateTbReq = taosMemoryCalloc(1, sizeof(SVCreateTbReq)); if (pSubmitTbData->pCreateTbReq == NULL) { - goto _exit; + TAOS_CHECK_EXIT(terrno); } - if (tDecodeSVCreateTbReq(pCoder, pSubmitTbData->pCreateTbReq) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } + TAOS_CHECK_EXIT(tDecodeSVCreateTbReq(pCoder, pSubmitTbData->pCreateTbReq)); } // submit data - if (tDecodeI64(pCoder, &pSubmitTbData->suid) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } - if (tDecodeI64(pCoder, &pSubmitTbData->uid) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } - if (tDecodeI32v(pCoder, &pSubmitTbData->sver) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } + TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSubmitTbData->suid)); + TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSubmitTbData->uid)); + TAOS_CHECK_EXIT(tDecodeI32v(pCoder, &pSubmitTbData->sver)); if (pSubmitTbData->flags & SUBMIT_REQ_COLUMN_DATA_FORMAT) { uint64_t nColData; - if (tDecodeU64v(pCoder, &nColData) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } + TAOS_CHECK_EXIT(tDecodeU64v(pCoder, &nColData)); pSubmitTbData->aCol = taosArrayInit(nColData, sizeof(SColData)); if (pSubmitTbData->aCol == NULL) { - code = terrno; - goto _exit; + TAOS_CHECK_EXIT(terrno); } for (int32_t i = 0; i < nColData; ++i) { @@ -11033,19 +11014,18 @@ static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData *pSubmitTbDa } } else { uint64_t nRow; - if (tDecodeU64v(pCoder, &nRow) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } + TAOS_CHECK_EXIT(tDecodeU64v(pCoder, &nRow)); pSubmitTbData->aRowP = taosArrayInit(nRow, sizeof(SRow *)); if (pSubmitTbData->aRowP == NULL) { - code = terrno; - goto _exit; + TAOS_CHECK_EXIT(terrno); } for (int32_t iRow = 0; iRow < nRow; ++iRow) { SRow **ppRow = taosArrayReserve(pSubmitTbData->aRowP, 1); + if (ppRow == NULL) { + TAOS_CHECK_EXIT(terrno); + } *ppRow = (SRow *)(pCoder->data + pCoder->pos); pCoder->pos += (*ppRow)->len; @@ -11054,31 +11034,27 @@ static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData *pSubmitTbDa pSubmitTbData->ctimeMs = 0; if (!tDecodeIsEnd(pCoder)) { - if (tDecodeI64(pCoder, &pSubmitTbData->ctimeMs) < 0) { - code = TSDB_CODE_INVALID_MSG; - goto _exit; - } + TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSubmitTbData->ctimeMs)); } tEndDecode(pCoder); _exit: - if (code) { - // TODO: clear - } - return 0; + return code; } int32_t tEncodeSubmitReq(SEncoder *pCoder, const SSubmitReq2 *pReq) { - if (tStartEncode(pCoder) < 0) return -1; + int32_t code = 0; + int32_t lino; - if (tEncodeU64v(pCoder, taosArrayGetSize(pReq->aSubmitTbData)) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(pCoder)); + TAOS_CHECK_EXIT(tEncodeU64v(pCoder, taosArrayGetSize(pReq->aSubmitTbData))); for (uint64_t i = 0; i < taosArrayGetSize(pReq->aSubmitTbData); i++) { - if (tEncodeSSubmitTbData(pCoder, taosArrayGet(pReq->aSubmitTbData, i)) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSSubmitTbData(pCoder, taosArrayGet(pReq->aSubmitTbData, i))); } - tEndEncode(pCoder); - return 0; +_exit: + return code; } int32_t tDecodeSubmitReq(SDecoder *pCoder, SSubmitReq2 *pReq) { @@ -11187,17 +11163,21 @@ void tDestroySubmitReq(SSubmitReq2 *pReq, int32_t flag) { } int32_t tEncodeSSubmitRsp2(SEncoder *pCoder, const SSubmitRsp2 *pRsp) { - if (tStartEncode(pCoder) < 0) return -1; + int32_t code = 0; + int32_t lino; - if (tEncodeI32v(pCoder, pRsp->affectedRows) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(pCoder)); - if (tEncodeU64v(pCoder, taosArrayGetSize(pRsp->aCreateTbRsp)) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32v(pCoder, pRsp->affectedRows)); + + TAOS_CHECK_EXIT(tEncodeU64v(pCoder, taosArrayGetSize(pRsp->aCreateTbRsp))); for (int32_t i = 0; i < taosArrayGetSize(pRsp->aCreateTbRsp); ++i) { - if (tEncodeSVCreateTbRsp(pCoder, taosArrayGet(pRsp->aCreateTbRsp, i)) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSVCreateTbRsp(pCoder, taosArrayGet(pRsp->aCreateTbRsp, i))); } tEndEncode(pCoder); - return 0; +_exit: + return code; } int32_t tDecodeSSubmitRsp2(SDecoder *pCoder, SSubmitRsp2 *pRsp) { @@ -11280,55 +11260,79 @@ void tDestroySSubmitRsp2(SSubmitRsp2 *pRsp, int32_t flag) { } int32_t tSerializeSMPauseStreamReq(void *buf, int32_t bufLen, const SMPauseStreamReq *pReq) { + int32_t code = 0; + int32_t lino; + int32_t tlen; SEncoder encoder = {0}; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->name) < 0) return -1; - if (tEncodeI8(&encoder, pReq->igNotExists) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igNotExists)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSMPauseStreamReq(void *buf, int32_t bufLen, SMPauseStreamReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1; - if (tDecodeI8(&decoder, &pReq->igNotExists) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igNotExists)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } int32_t tSerializeSMResumeStreamReq(void *buf, int32_t bufLen, const SMResumeStreamReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->name) < 0) return -1; - if (tEncodeI8(&encoder, pReq->igNotExists) < 0) return -1; - if (tEncodeI8(&encoder, pReq->igUntreated) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igNotExists)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igUntreated)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSMResumeStreamReq(void *buf, int32_t bufLen, SMResumeStreamReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1; - if (tDecodeI8(&decoder, &pReq->igNotExists) < 0) return -1; - if (tDecodeI8(&decoder, &pReq->igUntreated) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igNotExists)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igUntreated)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } int32_t tEncodeMqSubTopicEp(void **buf, const SMqSubTopicEp *pTopicEp) { @@ -11375,59 +11379,71 @@ void tDeleteMqSubTopicEp(SMqSubTopicEp *pSubTopicEp) { int32_t tSerializeSCMCreateViewReq(void *buf, int32_t bufLen, const SCMCreateViewReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->fullname) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->name) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->dbFName) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->querySql) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->sql) < 0) return -1; - if (tEncodeI8(&encoder, pReq->orReplace) < 0) return -1; - if (tEncodeI8(&encoder, pReq->precision) < 0) return -1; - if (tEncodeI32(&encoder, pReq->numOfCols) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->fullname)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->dbFName)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->querySql)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->sql)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->orReplace)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->precision)); + TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->numOfCols)); for (int32_t i = 0; i < pReq->numOfCols; ++i) { SSchema *pSchema = &pReq->pSchema[i]; - if (tEncodeSSchema(&encoder, pSchema) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSSchema(&encoder, pSchema)); } tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSCMCreateViewReq(void *buf, int32_t bufLen, SCMCreateViewReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->fullname) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->dbFName) < 0) return -1; - if (tDecodeCStrAlloc(&decoder, &pReq->querySql) < 0) return -1; - if (tDecodeCStrAlloc(&decoder, &pReq->sql) < 0) return -1; - if (tDecodeI8(&decoder, &pReq->orReplace) < 0) return -1; - if (tDecodeI8(&decoder, &pReq->precision) < 0) return -1; - if (tDecodeI32(&decoder, &pReq->numOfCols) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->fullname)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->dbFName)); + TAOS_CHECK_EXIT(tDecodeCStrAlloc(&decoder, &pReq->querySql)); + TAOS_CHECK_EXIT(tDecodeCStrAlloc(&decoder, &pReq->sql)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->orReplace)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->precision)); + TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->numOfCols)); if (pReq->numOfCols > 0) { pReq->pSchema = taosMemoryCalloc(pReq->numOfCols, sizeof(SSchema)); if (pReq->pSchema == NULL) { - return -1; + TAOS_CHECK_EXIT(terrno); } for (int32_t i = 0; i < pReq->numOfCols; ++i) { SSchema *pSchema = pReq->pSchema + i; - if (tDecodeSSchema(&decoder, pSchema) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeSSchema(&decoder, pSchema)); } } tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } void tFreeSCMCreateViewReq(SCMCreateViewReq *pReq) { @@ -11442,37 +11458,49 @@ void tFreeSCMCreateViewReq(SCMCreateViewReq *pReq) { int32_t tSerializeSCMDropViewReq(void *buf, int32_t bufLen, const SCMDropViewReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->fullname) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->name) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->dbFName) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->sql) < 0) return -1; - if (tEncodeI8(&encoder, pReq->igNotExists) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->fullname)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->dbFName)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->sql)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igNotExists)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSCMDropViewReq(void *buf, int32_t bufLen, SCMDropViewReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->fullname) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->dbFName) < 0) return -1; - if (tDecodeCStrAlloc(&decoder, &pReq->sql) < 0) return -1; - if (tDecodeI8(&decoder, &pReq->igNotExists) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->fullname)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->dbFName)); + TAOS_CHECK_EXIT(tDecodeCStrAlloc(&decoder, &pReq->sql)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igNotExists)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } void tFreeSCMDropViewReq(SCMDropViewReq *pReq) { if (NULL == pReq) { @@ -11484,101 +11512,133 @@ void tFreeSCMDropViewReq(SCMDropViewReq *pReq) { int32_t tSerializeSViewMetaReq(void *buf, int32_t bufLen, const SViewMetaReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->fullname) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->fullname)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSViewMetaReq(void *buf, int32_t bufLen, SViewMetaReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->fullname) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->fullname)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } static int32_t tEncodeSViewMetaRsp(SEncoder *pEncoder, const SViewMetaRsp *pRsp) { - if (tEncodeCStr(pEncoder, pRsp->name) < 0) return -1; - if (tEncodeCStr(pEncoder, pRsp->dbFName) < 0) return -1; - if (tEncodeCStr(pEncoder, pRsp->user) < 0) return -1; - if (tEncodeU64(pEncoder, pRsp->dbId) < 0) return -1; - if (tEncodeU64(pEncoder, pRsp->viewId) < 0) return -1; - if (tEncodeCStr(pEncoder, pRsp->querySql) < 0) return -1; - if (tEncodeI8(pEncoder, pRsp->precision) < 0) return -1; - if (tEncodeI8(pEncoder, pRsp->type) < 0) return -1; - if (tEncodeI32(pEncoder, pRsp->version) < 0) return -1; - if (tEncodeI32(pEncoder, pRsp->numOfCols) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pRsp->name)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pRsp->dbFName)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pRsp->user)); + TAOS_CHECK_EXIT(tEncodeU64(pEncoder, pRsp->dbId)); + TAOS_CHECK_EXIT(tEncodeU64(pEncoder, pRsp->viewId)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pRsp->querySql)); + TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pRsp->precision)); + TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pRsp->type)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->version)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->numOfCols)); for (int32_t i = 0; i < pRsp->numOfCols; ++i) { SSchema *pSchema = &pRsp->pSchema[i]; - if (tEncodeSSchema(pEncoder, pSchema) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSSchema(pEncoder, pSchema)); } - return 0; +_exit: + return code; } int32_t tSerializeSViewMetaRsp(void *buf, int32_t bufLen, const SViewMetaRsp *pRsp) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeSViewMetaRsp(&encoder, pRsp) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeSViewMetaRsp(&encoder, pRsp)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } static int32_t tDecodeSViewMetaRsp(SDecoder *pDecoder, SViewMetaRsp *pRsp) { - if (tDecodeCStrTo(pDecoder, pRsp->name) < 0) return -1; - if (tDecodeCStrTo(pDecoder, pRsp->dbFName) < 0) return -1; - if (tDecodeCStrAlloc(pDecoder, &pRsp->user) < 0) return -1; - if (tDecodeU64(pDecoder, &pRsp->dbId) < 0) return -1; - if (tDecodeU64(pDecoder, &pRsp->viewId) < 0) return -1; - if (tDecodeCStrAlloc(pDecoder, &pRsp->querySql) < 0) return -1; - if (tDecodeI8(pDecoder, &pRsp->precision) < 0) return -1; - if (tDecodeI8(pDecoder, &pRsp->type) < 0) return -1; - if (tDecodeI32(pDecoder, &pRsp->version) < 0) return -1; - if (tDecodeI32(pDecoder, &pRsp->numOfCols) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pRsp->name)); + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pRsp->dbFName)); + TAOS_CHECK_EXIT(tDecodeCStrAlloc(pDecoder, &pRsp->user)); + TAOS_CHECK_EXIT(tDecodeU64(pDecoder, &pRsp->dbId)); + TAOS_CHECK_EXIT(tDecodeU64(pDecoder, &pRsp->viewId)); + TAOS_CHECK_EXIT(tDecodeCStrAlloc(pDecoder, &pRsp->querySql)); + TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pRsp->precision)); + TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pRsp->type)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->version)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->numOfCols)); if (pRsp->numOfCols > 0) { pRsp->pSchema = taosMemoryCalloc(pRsp->numOfCols, sizeof(SSchema)); if (pRsp->pSchema == NULL) { - return -1; + TAOS_CHECK_EXIT(terrno); } for (int32_t i = 0; i < pRsp->numOfCols; ++i) { SSchema *pSchema = pRsp->pSchema + i; - if (tDecodeSSchema(pDecoder, pSchema) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeSSchema(pDecoder, pSchema)); } } - return 0; +_exit: + return code; } int32_t tDeserializeSViewMetaRsp(void *buf, int32_t bufLen, SViewMetaRsp *pRsp) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeSViewMetaRsp(&decoder, pRsp) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeSViewMetaRsp(&decoder, pRsp)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } void tFreeSViewMetaRsp(SViewMetaRsp *pRsp) { @@ -11593,48 +11653,62 @@ void tFreeSViewMetaRsp(SViewMetaRsp *pRsp) { int32_t tSerializeSViewHbRsp(void *buf, int32_t bufLen, SViewHbRsp *pRsp) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); int32_t numOfMeta = taosArrayGetSize(pRsp->pViewRsp); - if (tEncodeI32(&encoder, numOfMeta) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(&encoder, numOfMeta)); for (int32_t i = 0; i < numOfMeta; ++i) { SViewMetaRsp *pMetaRsp = taosArrayGetP(pRsp->pViewRsp, i); - if (tEncodeSViewMetaRsp(&encoder, pMetaRsp) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSViewMetaRsp(&encoder, pMetaRsp)); } tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSViewHbRsp(void *buf, int32_t bufLen, SViewHbRsp *pRsp) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); int32_t numOfMeta = 0; - if (tDecodeI32(&decoder, &numOfMeta) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(&decoder, &numOfMeta)); pRsp->pViewRsp = taosArrayInit(numOfMeta, POINTER_BYTES); if (pRsp->pViewRsp == NULL) { - return -1; + TAOS_CHECK_EXIT(terrno); } for (int32_t i = 0; i < numOfMeta; ++i) { SViewMetaRsp *metaRsp = taosMemoryCalloc(1, sizeof(SViewMetaRsp)); if (NULL == metaRsp) return -1; - if (tDecodeSViewMetaRsp(&decoder, metaRsp) < 0) return -1; - if (taosArrayPush(pRsp->pViewRsp, &metaRsp) == NULL) return -1; + TAOS_CHECK_EXIT(tDecodeSViewMetaRsp(&decoder, metaRsp)); + if (taosArrayPush(pRsp->pViewRsp, &metaRsp) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } void tFreeSViewHbRsp(SViewHbRsp *pRsp) { @@ -11662,183 +11736,243 @@ void setFieldWithOptions(SFieldWithOptions *fieldWithOptions, SField *field) { } int32_t tSerializeTableTSMAInfoReq(void *buf, int32_t bufLen, const STableTSMAInfoReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeCStr(&encoder, pReq->name) < 0) return -1; - if (tEncodeI8(&encoder, pReq->fetchingWithTsmaName) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name)); + TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->fetchingWithTsmaName)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeTableTSMAInfoReq(void *buf, int32_t bufLen, STableTSMAInfoReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1; - if (tDecodeI8(&decoder, (uint8_t *)&pReq->fetchingWithTsmaName) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name)); + TAOS_CHECK_EXIT(tDecodeI8(&decoder, (uint8_t *)&pReq->fetchingWithTsmaName)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } static int32_t tEncodeTableTSMAInfo(SEncoder *pEncoder, const STableTSMAInfo *pTsmaInfo) { - if (tEncodeCStr(pEncoder, pTsmaInfo->name) < 0) return -1; - if (tEncodeU64(pEncoder, pTsmaInfo->tsmaId) < 0) return -1; - if (tEncodeCStr(pEncoder, pTsmaInfo->tb) < 0) return -1; - if (tEncodeCStr(pEncoder, pTsmaInfo->dbFName) < 0) return -1; - if (tEncodeU64(pEncoder, pTsmaInfo->suid) < 0) return -1; - if (tEncodeU64(pEncoder, pTsmaInfo->destTbUid) < 0) return -1; - if (tEncodeU64(pEncoder, pTsmaInfo->dbId) < 0) return -1; - if (tEncodeI32(pEncoder, pTsmaInfo->version) < 0) return -1; - if (tEncodeCStr(pEncoder, pTsmaInfo->targetTb) < 0) return -1; - if (tEncodeCStr(pEncoder, pTsmaInfo->targetDbFName) < 0) return -1; - if (tEncodeI64(pEncoder, pTsmaInfo->interval) < 0) return -1; - if (tEncodeI8(pEncoder, pTsmaInfo->unit) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pTsmaInfo->name)); + TAOS_CHECK_EXIT(tEncodeU64(pEncoder, pTsmaInfo->tsmaId)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pTsmaInfo->tb)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pTsmaInfo->dbFName)); + TAOS_CHECK_EXIT(tEncodeU64(pEncoder, pTsmaInfo->suid)); + TAOS_CHECK_EXIT(tEncodeU64(pEncoder, pTsmaInfo->destTbUid)); + TAOS_CHECK_EXIT(tEncodeU64(pEncoder, pTsmaInfo->dbId)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pTsmaInfo->version)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pTsmaInfo->targetTb)); + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pTsmaInfo->targetDbFName)); + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pTsmaInfo->interval)); + TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pTsmaInfo->unit)); int32_t size = pTsmaInfo->pFuncs ? pTsmaInfo->pFuncs->size : 0; - if (tEncodeI32(pEncoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, size)); for (int32_t i = 0; i < size; ++i) { STableTSMAFuncInfo *pFuncInfo = taosArrayGet(pTsmaInfo->pFuncs, i); - if (tEncodeI32(pEncoder, pFuncInfo->funcId) < 0) return -1; - if (tEncodeI16(pEncoder, pFuncInfo->colId) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pFuncInfo->funcId)); + TAOS_CHECK_EXIT(tEncodeI16(pEncoder, pFuncInfo->colId)); } size = pTsmaInfo->pTags ? pTsmaInfo->pTags->size : 0; - if (tEncodeI32(pEncoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, size)); for (int32_t i = 0; i < size; ++i) { const SSchema *pSchema = taosArrayGet(pTsmaInfo->pTags, i); - if (tEncodeSSchema(pEncoder, pSchema) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSSchema(pEncoder, pSchema)); } size = pTsmaInfo->pUsedCols ? pTsmaInfo->pUsedCols->size : 0; - if (tEncodeI32(pEncoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, size)); for (int32_t i = 0; i < size; ++i) { const SSchema *pSchema = taosArrayGet(pTsmaInfo->pUsedCols, i); - if (tEncodeSSchema(pEncoder, pSchema) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSSchema(pEncoder, pSchema)); } - if (tEncodeCStr(pEncoder, pTsmaInfo->ast) < 0) return -1; - if (tEncodeI64(pEncoder, pTsmaInfo->streamUid) < 0) return -1; - if (tEncodeI64(pEncoder, pTsmaInfo->reqTs) < 0) return -1; - if (tEncodeI64(pEncoder, pTsmaInfo->rspTs) < 0) return -1; - if (tEncodeI64(pEncoder, pTsmaInfo->delayDuration) < 0) return -1; - if (tEncodeI8(pEncoder, pTsmaInfo->fillHistoryFinished) < 0) return -1; - return 0; + TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pTsmaInfo->ast)); + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pTsmaInfo->streamUid)); + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pTsmaInfo->reqTs)); + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pTsmaInfo->rspTs)); + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pTsmaInfo->delayDuration)); + TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pTsmaInfo->fillHistoryFinished)); + +_exit: + return code; } static int32_t tDecodeTableTSMAInfo(SDecoder *pDecoder, STableTSMAInfo *pTsmaInfo) { - if (tDecodeCStrTo(pDecoder, pTsmaInfo->name) < 0) return -1; - if (tDecodeU64(pDecoder, &pTsmaInfo->tsmaId) < 0) return -1; - if (tDecodeCStrTo(pDecoder, pTsmaInfo->tb) < 0) return -1; - if (tDecodeCStrTo(pDecoder, pTsmaInfo->dbFName) < 0) return -1; - if (tDecodeU64(pDecoder, &pTsmaInfo->suid) < 0) return -1; - if (tDecodeU64(pDecoder, &pTsmaInfo->destTbUid) < 0) return -1; - if (tDecodeU64(pDecoder, &pTsmaInfo->dbId) < 0) return -1; - if (tDecodeI32(pDecoder, &pTsmaInfo->version) < 0) return -1; - if (tDecodeCStrTo(pDecoder, pTsmaInfo->targetTb) < 0) return -1; - if (tDecodeCStrTo(pDecoder, pTsmaInfo->targetDbFName) < 0) return -1; - if (tDecodeI64(pDecoder, &pTsmaInfo->interval) < 0) return -1; - if (tDecodeI8(pDecoder, &pTsmaInfo->unit) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pTsmaInfo->name)); + TAOS_CHECK_EXIT(tDecodeU64(pDecoder, &pTsmaInfo->tsmaId)); + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pTsmaInfo->tb)); + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pTsmaInfo->dbFName)); + TAOS_CHECK_EXIT(tDecodeU64(pDecoder, &pTsmaInfo->suid)); + TAOS_CHECK_EXIT(tDecodeU64(pDecoder, &pTsmaInfo->destTbUid)); + TAOS_CHECK_EXIT(tDecodeU64(pDecoder, &pTsmaInfo->dbId)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pTsmaInfo->version)); + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pTsmaInfo->targetTb)); + TAOS_CHECK_EXIT(tDecodeCStrTo(pDecoder, pTsmaInfo->targetDbFName)); + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pTsmaInfo->interval)); + TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pTsmaInfo->unit)); int32_t size = 0; - if (tDecodeI32(pDecoder, &size) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &size)); if (size > 0) { pTsmaInfo->pFuncs = taosArrayInit(size, sizeof(STableTSMAFuncInfo)); - if (!pTsmaInfo->pFuncs) return -1; + if (!pTsmaInfo->pFuncs) { + TAOS_CHECK_EXIT(terrno); + } for (int32_t i = 0; i < size; ++i) { STableTSMAFuncInfo funcInfo = {0}; - if (tDecodeI32(pDecoder, &funcInfo.funcId) < 0) return -1; - if (tDecodeI16(pDecoder, &funcInfo.colId) < 0) return -1; - if (!taosArrayPush(pTsmaInfo->pFuncs, &funcInfo)) return -1; + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &funcInfo.funcId)); + TAOS_CHECK_EXIT(tDecodeI16(pDecoder, &funcInfo.colId)); + if (!taosArrayPush(pTsmaInfo->pFuncs, &funcInfo)) { + TAOS_CHECK_EXIT(terrno); + } } } - if (tDecodeI32(pDecoder, &size) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &size)); if (size > 0) { pTsmaInfo->pTags = taosArrayInit(size, sizeof(SSchema)); - if (!pTsmaInfo->pTags) return -1; + if (!pTsmaInfo->pTags) { + TAOS_CHECK_EXIT(terrno); + } for (int32_t i = 0; i < size; ++i) { SSchema schema = {0}; - if (tDecodeSSchema(pDecoder, &schema) < 0) return -1; - if (taosArrayPush(pTsmaInfo->pTags, &schema) == NULL) return -1; + TAOS_CHECK_EXIT(tDecodeSSchema(pDecoder, &schema)); + if (taosArrayPush(pTsmaInfo->pTags, &schema) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } } - if (tDecodeI32(pDecoder, &size) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &size)); if (size > 0) { pTsmaInfo->pUsedCols = taosArrayInit(size, sizeof(SSchema)); - if (!pTsmaInfo->pUsedCols) return -1; + if (!pTsmaInfo->pUsedCols) { + TAOS_CHECK_EXIT(terrno); + } for (int32_t i = 0; i < size; ++i) { SSchema schema = {0}; - if (tDecodeSSchema(pDecoder, &schema) < 0) return -1; - if (taosArrayPush(pTsmaInfo->pUsedCols, &schema) == NULL) return -1; + TAOS_CHECK_EXIT(tDecodeSSchema(pDecoder, &schema)); + if (taosArrayPush(pTsmaInfo->pUsedCols, &schema) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } } - if (tDecodeCStrAlloc(pDecoder, &pTsmaInfo->ast) < 0) return -1; - if (tDecodeI64(pDecoder, &pTsmaInfo->streamUid) < 0) return -1; - if (tDecodeI64(pDecoder, &pTsmaInfo->reqTs) < 0) return -1; - if (tDecodeI64(pDecoder, &pTsmaInfo->rspTs) < 0) return -1; - if (tDecodeI64(pDecoder, &pTsmaInfo->delayDuration) < 0) return -1; - if (tDecodeI8(pDecoder, (int8_t *)&pTsmaInfo->fillHistoryFinished) < 0) return -1; - return 0; + TAOS_CHECK_EXIT(tDecodeCStrAlloc(pDecoder, &pTsmaInfo->ast)); + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pTsmaInfo->streamUid)); + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pTsmaInfo->reqTs)); + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pTsmaInfo->rspTs)); + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pTsmaInfo->delayDuration)); + TAOS_CHECK_EXIT(tDecodeI8(pDecoder, (int8_t *)&pTsmaInfo->fillHistoryFinished)); + +_exit: + return code; } static int32_t tEncodeTableTSMAInfoRsp(SEncoder *pEncoder, const STableTSMAInfoRsp *pRsp) { + int32_t code = 0; + int32_t lino; + int32_t size = pRsp->pTsmas ? pRsp->pTsmas->size : 0; - if (tEncodeI32(pEncoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, size)); for (int32_t i = 0; i < size; ++i) { STableTSMAInfo *pInfo = taosArrayGetP(pRsp->pTsmas, i); - if (tEncodeTableTSMAInfo(pEncoder, pInfo) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeTableTSMAInfo(pEncoder, pInfo)); } - return 0; +_exit: + return code; } static int32_t tDecodeTableTSMAInfoRsp(SDecoder *pDecoder, STableTSMAInfoRsp *pRsp) { int32_t size = 0; - if (tDecodeI32(pDecoder, &size) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &size)); if (size <= 0) return 0; pRsp->pTsmas = taosArrayInit(size, POINTER_BYTES); - if (!pRsp->pTsmas) return -1; + if (!pRsp->pTsmas) { + TAOS_CHECK_EXIT(terrno); + } for (int32_t i = 0; i < size; ++i) { STableTSMAInfo *pTsma = taosMemoryCalloc(1, sizeof(STableTSMAInfo)); - if (!pTsma) return -1; - if (taosArrayPush(pRsp->pTsmas, &pTsma) == NULL) return -1; - if (tDecodeTableTSMAInfo(pDecoder, pTsma) < 0) return -1; + if (!pTsma) { + TAOS_CHECK_EXIT(terrno); + } + if (taosArrayPush(pRsp->pTsmas, &pTsma) == NULL) { + TAOS_CHECK_EXIT(terrno); + } + TAOS_CHECK_EXIT(tDecodeTableTSMAInfo(pDecoder, pTsma)); } - return 0; +_exit: + return code; } int32_t tSerializeTableTSMAInfoRsp(void *buf, int32_t bufLen, const STableTSMAInfoRsp *pRsp) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeTableTSMAInfoRsp(&encoder, pRsp) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeTableTSMAInfoRsp(&encoder, pRsp)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeTableTSMAInfoRsp(void *buf, int32_t bufLen, STableTSMAInfoRsp *pRsp) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeTableTSMAInfoRsp(&decoder, pRsp) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeTableTSMAInfoRsp(&decoder, pRsp)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } void tFreeTableTSMAInfo(void *p) { @@ -11899,129 +12033,184 @@ void tFreeTableTSMAInfoRsp(STableTSMAInfoRsp *pRsp) { } static int32_t tEncodeStreamProgressReq(SEncoder *pEncoder, const SStreamProgressReq *pReq) { - if (tEncodeI64(pEncoder, pReq->streamId) < 0) return -1; - if (tEncodeI32(pEncoder, pReq->vgId) < 0) return -1; - if (tEncodeI32(pEncoder, pReq->fetchIdx) < 0) return -1; - if (tEncodeI32(pEncoder, pReq->subFetchIdx) < 0) return -1; - return 0; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pReq->streamId)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pReq->vgId)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pReq->fetchIdx)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pReq->subFetchIdx)); + +_exit: + return code; } int32_t tSerializeStreamProgressReq(void *buf, int32_t bufLen, const SStreamProgressReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeStreamProgressReq(&encoder, pReq) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeStreamProgressReq(&encoder, pReq)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } static int32_t tDecodeStreamProgressReq(SDecoder *pDecoder, SStreamProgressReq *pReq) { - if (tDecodeI64(pDecoder, &pReq->streamId) < 0) return -1; - if (tDecodeI32(pDecoder, &pReq->vgId) < 0) return -1; - if (tDecodeI32(pDecoder, &pReq->fetchIdx) < 0) return -1; - if (tDecodeI32(pDecoder, &pReq->subFetchIdx) < 0) return -1; - return 0; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pReq->streamId)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pReq->vgId)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pReq->fetchIdx)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pReq->subFetchIdx)); + +_exit: + return code; } int32_t tDeserializeStreamProgressReq(void *buf, int32_t bufLen, SStreamProgressReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, (char *)buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeStreamProgressReq(&decoder, pReq) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeStreamProgressReq(&decoder, pReq)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } static int32_t tEncodeStreamProgressRsp(SEncoder *pEncoder, const SStreamProgressRsp *pRsp) { - if (tEncodeI64(pEncoder, pRsp->streamId) < 0) return -1; - if (tEncodeI32(pEncoder, pRsp->vgId) < 0) return -1; - if (tEncodeI8(pEncoder, pRsp->fillHisFinished) < 0) return -1; - if (tEncodeI64(pEncoder, pRsp->progressDelay) < 0) return -1; - if (tEncodeI32(pEncoder, pRsp->fetchIdx) < 0) return -1; - if (tEncodeI32(pEncoder, pRsp->subFetchIdx) < 0) return -1; - return 0; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pRsp->streamId)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->vgId)); + TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pRsp->fillHisFinished)); + TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pRsp->progressDelay)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->fetchIdx)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->subFetchIdx)); + +_exit: + return code; } int32_t tSerializeStreamProgressRsp(void *buf, int32_t bufLen, const SStreamProgressRsp *pRsp) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeStreamProgressRsp(&encoder, pRsp) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); + TAOS_CHECK_EXIT(tEncodeStreamProgressRsp(&encoder, pRsp)); tEndEncode(&encoder); - int32_t tlen = encoder.pos; +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } static int32_t tDecodeStreamProgressRsp(SDecoder *pDecoder, SStreamProgressRsp *pRsp) { - if (tDecodeI64(pDecoder, &pRsp->streamId) < 0) return -1; - if (tDecodeI32(pDecoder, &pRsp->vgId) < 0) return -1; - if (tDecodeI8(pDecoder, (int8_t *)&pRsp->fillHisFinished) < 0) return -1; - if (tDecodeI64(pDecoder, &pRsp->progressDelay) < 0) return -1; - if (tDecodeI32(pDecoder, &pRsp->fetchIdx) < 0) return -1; - if (tDecodeI32(pDecoder, &pRsp->subFetchIdx) < 0) return -1; - return 0; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pRsp->streamId)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->vgId)); + TAOS_CHECK_EXIT(tDecodeI8(pDecoder, (int8_t *)&pRsp->fillHisFinished)); + TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pRsp->progressDelay)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->fetchIdx)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->subFetchIdx)); + +_exit: + return code; } int32_t tDeserializeSStreamProgressRsp(void *buf, int32_t bufLen, SStreamProgressRsp *pRsp) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeStreamProgressRsp(&decoder, pRsp) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); + TAOS_CHECK_EXIT(tDecodeStreamProgressRsp(&decoder, pRsp)); tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } int32_t tEncodeSMDropTbReqOnSingleVg(SEncoder *pEncoder, const SMDropTbReqsOnSingleVg *pReq) { const SVgroupInfo *pVgInfo = &pReq->vgInfo; - if (tEncodeI32(pEncoder, pVgInfo->vgId) < 0) return -1; - if (tEncodeU32(pEncoder, pVgInfo->hashBegin) < 0) return -1; - if (tEncodeU32(pEncoder, pVgInfo->hashEnd) < 0) return -1; - if (tEncodeSEpSet(pEncoder, &pVgInfo->epSet) < 0) return -1; - if (tEncodeI32(pEncoder, pVgInfo->numOfTable) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pVgInfo->vgId)); + TAOS_CHECK_EXIT(tEncodeU32(pEncoder, pVgInfo->hashBegin)); + TAOS_CHECK_EXIT(tEncodeU32(pEncoder, pVgInfo->hashEnd)); + TAOS_CHECK_EXIT(tEncodeSEpSet(pEncoder, &pVgInfo->epSet)); + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pVgInfo->numOfTable)); int32_t size = pReq->pTbs ? pReq->pTbs->size : 0; - if (tEncodeI32(pEncoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, size)); for (int32_t i = 0; i < size; ++i) { const SVDropTbReq *pInfo = taosArrayGet(pReq->pTbs, i); - if (tEncodeSVDropTbReq(pEncoder, pInfo) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSVDropTbReq(pEncoder, pInfo)); } - return 0; +_exit: + return code; } int32_t tDecodeSMDropTbReqOnSingleVg(SDecoder *pDecoder, SMDropTbReqsOnSingleVg *pReq) { - if (tDecodeI32(pDecoder, &pReq->vgInfo.vgId) < 0) return -1; - if (tDecodeU32(pDecoder, &pReq->vgInfo.hashBegin) < 0) return -1; - if (tDecodeU32(pDecoder, &pReq->vgInfo.hashEnd) < 0) return -1; - if (tDecodeSEpSet(pDecoder, &pReq->vgInfo.epSet) < 0) return -1; - if (tDecodeI32(pDecoder, &pReq->vgInfo.numOfTable) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pReq->vgInfo.vgId)); + TAOS_CHECK_EXIT(tDecodeU32(pDecoder, &pReq->vgInfo.hashBegin)); + TAOS_CHECK_EXIT(tDecodeU32(pDecoder, &pReq->vgInfo.hashEnd)); + TAOS_CHECK_EXIT(tDecodeSEpSet(pDecoder, &pReq->vgInfo.epSet)); + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pReq->vgInfo.numOfTable)); int32_t size = 0; - if (tDecodeI32(pDecoder, &size) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &size)); pReq->pTbs = taosArrayInit(size, sizeof(SVDropTbReq)); if (!pReq->pTbs) { - return -1; + TAOS_CHECK_EXIT(terrno); } SVDropTbReq pTbReq = {0}; for (int32_t i = 0; i < size; ++i) { - if (tDecodeSVDropTbReq(pDecoder, &pTbReq) < 0) return -1; - if (taosArrayPush(pReq->pTbs, &pTbReq) == NULL) return -1; + TAOS_CHECK_EXIT(tDecodeSVDropTbReq(pDecoder, &pTbReq)); + if (taosArrayPush(pReq->pTbs, &pTbReq) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } - return 0; + +_exit: + return code; } void tFreeSMDropTbReqOnSingleVg(void *p) { @@ -12031,38 +12220,54 @@ void tFreeSMDropTbReqOnSingleVg(void *p) { int32_t tSerializeSMDropTbsReq(void *buf, int32_t bufLen, const SMDropTbsReq *pReq) { SEncoder encoder = {0}; + int32_t code = 0; + int32_t lino; + int32_t tlen; + tEncoderInit(&encoder, buf, bufLen); - if (tStartEncode(&encoder) < 0) return -1; + TAOS_CHECK_EXIT(tStartEncode(&encoder)); int32_t size = pReq->pVgReqs ? pReq->pVgReqs->size : 0; - if (tEncodeI32(&encoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(&encoder, size)); for (int32_t i = 0; i < size; ++i) { SMDropTbReqsOnSingleVg *pVgReq = taosArrayGet(pReq->pVgReqs, i); - if (tEncodeSMDropTbReqOnSingleVg(&encoder, pVgReq) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSMDropTbReqOnSingleVg(&encoder, pVgReq)); } tEndEncode(&encoder); - int32_t tlen = encoder.pos; + +_exit: + if (code) { + tlen = code; + } else { + tlen = encoder.pos; + } tEncoderClear(&encoder); return tlen; } int32_t tDeserializeSMDropTbsReq(void *buf, int32_t bufLen, SMDropTbsReq *pReq) { SDecoder decoder = {0}; + int32_t code = 0; + int32_t lino; + tDecoderInit(&decoder, buf, bufLen); - if (tStartDecode(&decoder) < 0) return -1; + TAOS_CHECK_EXIT(tStartDecode(&decoder)); int32_t size = 0; - if (tDecodeI32(&decoder, &size) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(&decoder, &size)); pReq->pVgReqs = taosArrayInit(size, sizeof(SMDropTbReqsOnSingleVg)); if (!pReq->pVgReqs) { - return -1; + TAOS_CHECK_EXIT(terrno); } for (int32_t i = 0; i < size; ++i) { SMDropTbReqsOnSingleVg vgReq = {0}; - if (tDecodeSMDropTbReqOnSingleVg(&decoder, &vgReq) < 0) return -1; - if (taosArrayPush(pReq->pVgReqs, &vgReq) == NULL) return -1; + TAOS_CHECK_EXIT(tDecodeSMDropTbReqOnSingleVg(&decoder, &vgReq)); + if (taosArrayPush(pReq->pVgReqs, &vgReq) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } tEndDecode(&decoder); +_exit: tDecoderClear(&decoder); - return 0; + return code; } void tFreeSMDropTbsReq(void *p) { @@ -12071,29 +12276,42 @@ void tFreeSMDropTbsReq(void *p) { } int32_t tEncodeVFetchTtlExpiredTbsRsp(SEncoder *pCoder, const SVFetchTtlExpiredTbsRsp *pRsp) { - if (tEncodeI32(pCoder, pRsp->vgId) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeI32(pCoder, pRsp->vgId)); int32_t size = pRsp->pExpiredTbs ? pRsp->pExpiredTbs->size : 0; - if (tEncodeI32(pCoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pCoder, size)); for (int32_t i = 0; i < size; ++i) { - if (tEncodeSVDropTbReq(pCoder, taosArrayGet(pRsp->pExpiredTbs, i)) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeSVDropTbReq(pCoder, taosArrayGet(pRsp->pExpiredTbs, i))); } - return 0; + +_exit: + return code; } int32_t tDecodeVFetchTtlExpiredTbsRsp(SDecoder *pCoder, SVFetchTtlExpiredTbsRsp *pRsp) { - if (tDecodeI32(pCoder, &pRsp->vgId) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pRsp->vgId)); int32_t size = 0; - if (tDecodeI32(pCoder, &size) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeI32(pCoder, &size)); if (size > 0) { pRsp->pExpiredTbs = taosArrayInit(size, sizeof(SVDropTbReq)); - if (!pRsp->pExpiredTbs) return terrno; + if (!pRsp->pExpiredTbs) { + TAOS_CHECK_EXIT(terrno); + } SVDropTbReq tb = {0}; for (int32_t i = 0; i < size; ++i) { - if (tDecodeSVDropTbReq(pCoder, &tb) < 0) return -1; - if (taosArrayPush(pRsp->pExpiredTbs, &tb) == NULL) return -1; + TAOS_CHECK_EXIT(tDecodeSVDropTbReq(pCoder, &tb)); + if (taosArrayPush(pRsp->pExpiredTbs, &tb) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } } - return 0; +_exit: + return code; } void tFreeFetchTtlExpiredTbsRsp(void *p) { @@ -12102,52 +12320,73 @@ void tFreeFetchTtlExpiredTbsRsp(void *p) { } int32_t tEncodeMqBatchMetaRsp(SEncoder *pEncoder, const SMqBatchMetaRsp *pRsp) { - if (tEncodeSTqOffsetVal(pEncoder, &pRsp->rspOffset) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tEncodeSTqOffsetVal(pEncoder, &pRsp->rspOffset)); int32_t size = taosArrayGetSize(pRsp->batchMetaReq); - if (tEncodeI32(pEncoder, size) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeI32(pEncoder, size)); if (size > 0) { for (int32_t i = 0; i < size; i++) { void *pMetaReq = taosArrayGetP(pRsp->batchMetaReq, i); int32_t metaLen = *(int32_t *)taosArrayGet(pRsp->batchMetaLen, i); - if (tEncodeBinary(pEncoder, pMetaReq, metaLen) < 0) return -1; + TAOS_CHECK_EXIT(tEncodeBinary(pEncoder, pMetaReq, metaLen)); } } - return 0; +_exit: + return code; } int32_t tDecodeMqBatchMetaRsp(SDecoder *pDecoder, SMqBatchMetaRsp *pRsp) { int32_t size = 0; - if (tDecodeI32(pDecoder, &size) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &size)); if (size > 0) { pRsp->batchMetaReq = taosArrayInit(size, POINTER_BYTES); - if (!pRsp->batchMetaReq) return -1; + if (!pRsp->batchMetaReq) { + TAOS_CHECK_EXIT(terrno); + } pRsp->batchMetaLen = taosArrayInit(size, sizeof(int32_t)); - if (!pRsp->batchMetaLen) return -1; + if (!pRsp->batchMetaLen) { + TAOS_CHECK_EXIT(terrno); + } for (int32_t i = 0; i < size; i++) { void *pCreate = NULL; uint64_t len = 0; - if (tDecodeBinaryAlloc(pDecoder, &pCreate, &len) < 0) return -1; + TAOS_CHECK_EXIT(tDecodeBinaryAlloc(pDecoder, &pCreate, &len)); int32_t l = (int32_t)len; - if (taosArrayPush(pRsp->batchMetaReq, &pCreate) == NULL) return -1; - if (taosArrayPush(pRsp->batchMetaLen, &l) == NULL) return -1; + if (taosArrayPush(pRsp->batchMetaReq, &pCreate) == NULL) { + TAOS_CHECK_EXIT(terrno); + } + if (taosArrayPush(pRsp->batchMetaLen, &l) == NULL) { + TAOS_CHECK_EXIT(terrno); + } } } - return 0; +_exit: + return code; } int32_t tSemiDecodeMqBatchMetaRsp(SDecoder *pDecoder, SMqBatchMetaRsp *pRsp) { - if (tDecodeSTqOffsetVal(pDecoder, &pRsp->rspOffset) < 0) return -1; + int32_t code = 0; + int32_t lino; + + TAOS_CHECK_EXIT(tDecodeSTqOffsetVal(pDecoder, &pRsp->rspOffset)); if (pDecoder->size < pDecoder->pos) { - return -1; + return TSDB_CODE_INVALID_PARA; } pRsp->metaBuffLen = TD_CODER_REMAIN_CAPACITY(pDecoder); pRsp->pMetaBuff = taosMemoryCalloc(1, pRsp->metaBuffLen); if (pRsp->pMetaBuff == NULL) { - return -1; + TAOS_CHECK_EXIT(terrno); } memcpy(pRsp->pMetaBuff, TD_CODER_CURRENT(pDecoder), pRsp->metaBuffLen); - return 0; + +_exit: + return code; } void tDeleteMqBatchMetaRsp(SMqBatchMetaRsp *pRsp) {