diff --git a/docs/en/08-develop/01-connect/index.md b/docs/en/08-develop/01-connect/index.md
index 916d5e1e09..ab35f6ad63 100644
--- a/docs/en/08-develop/01-connect/index.md
+++ b/docs/en/08-develop/01-connect/index.md
@@ -90,7 +90,7 @@ If `maven` is used to manage the projects, what needs to be done is only adding
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
```
diff --git a/docs/en/14-reference/03-taos-sql/04-stable.md b/docs/en/14-reference/03-taos-sql/04-stable.md
index ea8fb42956..73b1c0728e 100644
--- a/docs/en/14-reference/03-taos-sql/04-stable.md
+++ b/docs/en/14-reference/03-taos-sql/04-stable.md
@@ -20,8 +20,7 @@ table_options:
table_option: {
COMMENT 'string_value'
- | SMA(col_name [, col_name] ...)
- | TTL value
+ | SMA(col_name [, col_name] ...)
}
```
diff --git a/docs/en/14-reference/03-taos-sql/10-function.md b/docs/en/14-reference/03-taos-sql/10-function.md
index 72ca878ce8..2ba3c416fd 100644
--- a/docs/en/14-reference/03-taos-sql/10-function.md
+++ b/docs/en/14-reference/03-taos-sql/10-function.md
@@ -1384,7 +1384,7 @@ SELECT SERVER_VERSION();
SELECT SERVER_STATUS();
```
-**Description**: The server status.
+**Description**: The server status. When checking the status of a cluster, the recommended way is to use `SHOW CLUSTER ALIVE;`. Unlike `SELECT SERVER_STATUS();`, it does not return an error when some nodes in the cluster are unavailable; instead, it returns different status codes. Plese check [SHOW CLUSTER ALIVE](https://docs.tdengine.com/reference/taos-sql/show/#show-cluster-alive) for details.
### CURRENT_USER
diff --git a/docs/en/14-reference/05-connectors/14-java.mdx b/docs/en/14-reference/05-connectors/14-java.mdx
index aa7e91b7fa..1f4cf9895f 100644
--- a/docs/en/14-reference/05-connectors/14-java.mdx
+++ b/docs/en/14-reference/05-connectors/14-java.mdx
@@ -42,6 +42,7 @@ REST connection supports all platforms that can run Java.
| taos-jdbcdriver version | major changes | TDengine version |
| :---------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------: |
+| 3.3.2 | 1. Optimized websocket prepareStatement performance; 2. Improved mybatis support| - |
| 3.3.0 | 1. Optimized data transmission performance under Websocket connection; 2. SSL validation skipping is supported but disabled by default| 3.3.2.0 or later |
| 3.2.11 | Fixed the result set closing bug when using a native connection.| - |
| 3.2.10 | 1. Automatic compression/decompression for data transmission, disabled by default; 2.Automatic reconnection for websocket with configurable parameter, disabled by default; 3. A new method for schemaless writing is added in the connection class; 4. Optimized performance for data fetching on native connection; 5. Fixing for some known issues; 6. The list of supported functions can be returned by the API for retrieving metadata| - |
@@ -179,7 +180,7 @@ Add following dependency in the `pom.xml` file of your Maven project:
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
```
diff --git a/docs/examples/JDBC/JDBCDemo/pom.xml b/docs/examples/JDBC/JDBCDemo/pom.xml
index 763be51aff..a9b981a026 100644
--- a/docs/examples/JDBC/JDBCDemo/pom.xml
+++ b/docs/examples/JDBC/JDBCDemo/pom.xml
@@ -19,7 +19,7 @@
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
org.locationtech.jts
diff --git a/docs/examples/JDBC/connectionPools/pom.xml b/docs/examples/JDBC/connectionPools/pom.xml
index 855d531f4c..a3705e6834 100644
--- a/docs/examples/JDBC/connectionPools/pom.xml
+++ b/docs/examples/JDBC/connectionPools/pom.xml
@@ -18,7 +18,7 @@
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
diff --git a/docs/examples/JDBC/consumer-demo/pom.xml b/docs/examples/JDBC/consumer-demo/pom.xml
index ad0f6cd6a1..0db41bc33f 100644
--- a/docs/examples/JDBC/consumer-demo/pom.xml
+++ b/docs/examples/JDBC/consumer-demo/pom.xml
@@ -17,7 +17,7 @@
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
com.google.guava
@@ -67,4 +67,4 @@
-
\ No newline at end of file
+
diff --git a/docs/examples/JDBC/taosdemo/pom.xml b/docs/examples/JDBC/taosdemo/pom.xml
index c73614948b..8e61cbecdf 100644
--- a/docs/examples/JDBC/taosdemo/pom.xml
+++ b/docs/examples/JDBC/taosdemo/pom.xml
@@ -67,7 +67,7 @@
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
diff --git a/docs/examples/java/pom.xml b/docs/examples/java/pom.xml
index 35fe5f280c..c44be4704d 100644
--- a/docs/examples/java/pom.xml
+++ b/docs/examples/java/pom.xml
@@ -22,7 +22,7 @@
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
diff --git a/docs/zh/08-develop/01-connect/index.md b/docs/zh/08-develop/01-connect/index.md
index d1aeb0ed8b..5cecd245e5 100644
--- a/docs/zh/08-develop/01-connect/index.md
+++ b/docs/zh/08-develop/01-connect/index.md
@@ -89,7 +89,7 @@ TDengine 提供了丰富的应用程序开发接口,为了便于用户快速
com.taosdata.jdbc
taos-jdbcdriver
- 3.3.0
+ 3.3.2
```
diff --git a/docs/zh/14-reference/03-taos-sql/04-stable.md b/docs/zh/14-reference/03-taos-sql/04-stable.md
index badd08cd57..97e2b95089 100644
--- a/docs/zh/14-reference/03-taos-sql/04-stable.md
+++ b/docs/zh/14-reference/03-taos-sql/04-stable.md
@@ -20,8 +20,7 @@ table_options:
table_option: {
COMMENT 'string_value'
- | SMA(col_name [, col_name] ...)
- | TTL value
+ | SMA(col_name [, col_name] ...)
}
```
diff --git a/docs/zh/14-reference/03-taos-sql/10-function.md b/docs/zh/14-reference/03-taos-sql/10-function.md
index ac9311184e..ee71abbdec 100644
--- a/docs/zh/14-reference/03-taos-sql/10-function.md
+++ b/docs/zh/14-reference/03-taos-sql/10-function.md
@@ -1374,7 +1374,7 @@ SELECT SERVER_VERSION();
SELECT SERVER_STATUS();
```
-**说明**:检测服务端是否所有 dnode 都在线,如果是则返回成功,否则返回无法建立连接的错误。
+**说明**:检测服务端是否所有 dnode 都在线,如果是则返回成功,否则返回无法建立连接的错误。如果想要查询集群的状态,推荐使用 `SHOW CLUSTER ALIVE;`, 与 `SELECT SERVER_STATUS();` 不同,当集群中的部分节点不可用时,它不会返回错误,而是返回不同的状态码,详见:[SHOW CLUSTER ALIVE](https://docs.taosdata.com/reference/taos-sql/show/#show-cluster-alive)
### CURRENT_USER
diff --git a/docs/zh/14-reference/05-connector/14-java.mdx b/docs/zh/14-reference/05-connector/14-java.mdx
index 5f95233163..ec24f1329d 100644
--- a/docs/zh/14-reference/05-connector/14-java.mdx
+++ b/docs/zh/14-reference/05-connector/14-java.mdx
@@ -33,6 +33,7 @@ REST 连接支持所有能运行 Java 的平台。
| taos-jdbcdriver 版本 | 主要变化 | TDengine 版本 |
| :------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------: |
+| 3.3.2 | 1. 优化 Websocket 连接下的参数绑定性能;2. 优化了对 mybatis 的支持 | - |
| 3.3.0 | 1. 优化 Websocket 连接下的数据传输性能;2. 支持跳过 SSL 验证,默认关闭 | 3.3.2.0 及更高版本 |
| 3.2.11 | 解决了 Native 连接关闭结果集 bug | - |
| 3.2.10 | 1. REST/WebSocket 连接支持传输中的数据压缩;2. Websocket 自动重连机制,默认关闭;3. Connection 类提供无模式写入的方法;4. 优化了原生连接的数据拉取性能;5. 修复了一些已知问题;6.元数据获取函数可以返回支持的函数列表。 | - |
diff --git a/include/common/tglobal.h b/include/common/tglobal.h
index 7ecdd2a1b7..2d4d437649 100644
--- a/include/common/tglobal.h
+++ b/include/common/tglobal.h
@@ -158,6 +158,7 @@ extern int32_t tsCacheLazyLoadThreshold; // cost threshold for last/last_row lo
// query client
extern int32_t tsQueryPolicy;
+extern bool tsQueryTbNotExistAsEmpty;
extern int32_t tsQueryRspPolicy;
extern int64_t tsQueryMaxConcurrentTables;
extern int32_t tsQuerySmaOptimize;
diff --git a/include/libs/monitorfw/taos_counter.h b/include/libs/monitorfw/taos_counter.h
index 28a9eed41c..a9d196d8ec 100644
--- a/include/libs/monitorfw/taos_counter.h
+++ b/include/libs/monitorfw/taos_counter.h
@@ -15,7 +15,7 @@
#ifndef TAOS_COUNTER_H
#define TAOS_COUNTER_H
-
+#include
#include
#include "taos_metric.h"
@@ -99,4 +99,7 @@ int taos_counter_inc(taos_counter_t *self, const char **label_values);
*/
int taos_counter_add(taos_counter_t *self, double r_value, const char **label_values);
+int taos_counter_get_vgroup_ids(taos_counter_t *self, char ***keys, int32_t **vgroup_ids, int *list_size);
+int taos_counter_get_keys_size(taos_counter_t *self);
+int taos_counter_delete(taos_counter_t *self, char *key);
#endif // TAOS_COUNTER_H
diff --git a/include/libs/parser/parser.h b/include/libs/parser/parser.h
index 5025da14d3..7271da8ff6 100644
--- a/include/libs/parser/parser.h
+++ b/include/libs/parser/parser.h
@@ -65,6 +65,8 @@ typedef struct SParseCsvCxt {
const char* pLastSqlPos; // the location of the last parsed sql
} SParseCsvCxt;
+typedef void(*setQueryFn)(int64_t);
+
typedef struct SParseContext {
uint64_t requestId;
int64_t requestRid;
@@ -98,6 +100,7 @@ typedef struct SParseContext {
void* parseSqlParam;
int8_t biMode;
SArray* pSubMetaList;
+ setQueryFn setQueryFp;
} SParseContext;
int32_t qParseSql(SParseContext* pCxt, SQuery** pQuery);
diff --git a/include/libs/stream/tstream.h b/include/libs/stream/tstream.h
index 20f91106a5..31b9f62346 100644
--- a/include/libs/stream/tstream.h
+++ b/include/libs/stream/tstream.h
@@ -705,7 +705,7 @@ int32_t streamTaskSetActiveCheckpointInfo(SStreamTask* pTask, int64_t activeChec
void streamTaskSetFailedChkptInfo(SStreamTask* pTask, int32_t transId, int64_t checkpointId);
bool streamTaskAlreadySendTrigger(SStreamTask* pTask, int32_t downstreamNodeId);
void streamTaskGetTriggerRecvStatus(SStreamTask* pTask, int32_t* pRecved, int32_t* pTotal);
-void streamTaskInitTriggerDispatchInfo(SStreamTask* pTask);
+int32_t streamTaskInitTriggerDispatchInfo(SStreamTask* pTask);
void streamTaskSetTriggerDispatchConfirmed(SStreamTask* pTask, int32_t vgId);
int32_t streamTaskSendCheckpointTriggerMsg(SStreamTask* pTask, int32_t dstTaskId, int32_t downstreamNodeId,
SRpcHandleInfo* pInfo, int32_t code);
@@ -810,6 +810,7 @@ int32_t streamTaskBuildCheckpointSourceRsp(SStreamCheckpointSourceReq* pReq, SRp
int32_t streamSendChkptReportMsg(SStreamTask* pTask, SCheckpointInfo* pCheckpointInfo, int8_t dropRelHTask);
int32_t streamTaskUpdateTaskCheckpointInfo(SStreamTask* pTask, bool restored, SVUpdateCheckpointInfoReq* pReq);
int32_t streamTaskCreateActiveChkptInfo(SActiveCheckpointInfo** pRes);
+void streamTaskSetCheckpointFailed(SStreamTask* pTask);
// stream task state machine, and event handling
int32_t streamCreateStateMachine(SStreamTask* pTask);
diff --git a/include/util/tdef.h b/include/util/tdef.h
index a750074953..46a0d01457 100644
--- a/include/util/tdef.h
+++ b/include/util/tdef.h
@@ -499,7 +499,7 @@ typedef enum ELogicConditionType {
#ifdef WINDOWS
#define TSDB_MAX_RPC_THREADS 4 // windows pipe only support 4 connections.
#else
-#define TSDB_MAX_RPC_THREADS 10
+#define TSDB_MAX_RPC_THREADS 50
#endif
#define TSDB_QUERY_TYPE_NON_TYPE 0x00u // none type
diff --git a/source/client/inc/clientInt.h b/source/client/inc/clientInt.h
index 30424adecd..9811003254 100644
--- a/source/client/inc/clientInt.h
+++ b/source/client/inc/clientInt.h
@@ -52,11 +52,11 @@ enum {
#define SHOW_VARIABLES_RESULT_FIELD2_LEN (TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE)
#define SHOW_VARIABLES_RESULT_FIELD3_LEN (TSDB_CONFIG_SCOPE_LEN + VARSTR_HEADER_SIZE)
-#define TD_RES_QUERY(res) (*(int8_t*)res == RES_TYPE__QUERY)
-#define TD_RES_TMQ(res) (*(int8_t*)res == RES_TYPE__TMQ)
-#define TD_RES_TMQ_META(res) (*(int8_t*)res == RES_TYPE__TMQ_META)
-#define TD_RES_TMQ_METADATA(res) (*(int8_t*)res == RES_TYPE__TMQ_METADATA)
-#define TD_RES_TMQ_BATCH_META(res) (*(int8_t*)res == RES_TYPE__TMQ_BATCH_META)
+#define TD_RES_QUERY(res) (*(int8_t*)(res) == RES_TYPE__QUERY)
+#define TD_RES_TMQ(res) (*(int8_t*)(res) == RES_TYPE__TMQ)
+#define TD_RES_TMQ_META(res) (*(int8_t*)(res) == RES_TYPE__TMQ_META)
+#define TD_RES_TMQ_METADATA(res) (*(int8_t*)(res) == RES_TYPE__TMQ_METADATA)
+#define TD_RES_TMQ_BATCH_META(res) (*(int8_t*)(res) == RES_TYPE__TMQ_BATCH_META)
typedef struct SAppInstInfo SAppInstInfo;
@@ -284,6 +284,7 @@ typedef struct SRequestObj {
bool isSubReq;
bool inCallback;
bool isStmtBind; // is statement bind parameter
+ bool isQuery;
uint32_t prevCode; // previous error code: todo refactor, add update flag for catalog
uint32_t retry;
int64_t allocatorRefId;
@@ -420,6 +421,7 @@ typedef struct SSqlCallbackWrapper {
void* pPlanInfo;
} SSqlCallbackWrapper;
+void setQueryRequest(int64_t rId);
SRequestObj* launchQueryImpl(SRequestObj* pRequest, SQuery* pQuery, bool keepQuery, void** res);
int32_t scheduleQuery(SRequestObj* pRequest, SQueryPlan* pDag, SArray* pNodeList);
void launchAsyncQuery(SRequestObj* pRequest, SQuery* pQuery, SMetaData* pResultMeta, SSqlCallbackWrapper* pWrapper);
diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c
index 78ff40bb4f..a208cedd65 100644
--- a/source/client/src/clientImpl.c
+++ b/source/client/src/clientImpl.c
@@ -31,6 +31,15 @@
static int32_t initEpSetFromCfg(const char* firstEp, const char* secondEp, SCorEpSet* pEpSet);
static int32_t buildConnectMsg(SRequestObj* pRequest, SMsgSendInfo** pMsgSendInfo);
+void setQueryRequest(int64_t rId) {
+ SRequestObj* pReq = acquireRequest(rId);
+ if (pReq != NULL) {
+ pReq->isQuery = true;
+ (void)releaseRequest(rId);
+ }
+
+}
+
static bool stringLengthCheck(const char* str, size_t maxsize) {
if (str == NULL) {
return false;
@@ -286,7 +295,8 @@ int32_t parseSql(SRequestObj* pRequest, bool topicQuery, SQuery** pQuery, SStmtC
.enableSysInfo = pTscObj->sysInfo,
.svrVer = pTscObj->sVer,
.nodeOffline = (pTscObj->pAppInfo->onlineDnodes < pTscObj->pAppInfo->totalDnodes),
- .isStmtBind = pRequest->isStmtBind};
+ .isStmtBind = pRequest->isStmtBind,
+ .setQueryFp = setQueryRequest};
cxt.mgmtEpSet = getEpSet_s(&pTscObj->pAppInfo->mgmtEp);
int32_t code = catalogGetHandle(pTscObj->pAppInfo->clusterId, &cxt.pCatalog);
@@ -339,8 +349,8 @@ int32_t execDdlQuery(SRequestObj* pRequest, SQuery* pQuery) {
STscObj* pTscObj = pRequest->pTscObj;
SMsgSendInfo* pSendMsg = buildMsgInfoImpl(pRequest);
- int64_t transporterId = 0;
- TSC_ERR_RET(asyncSendMsgToServer(pTscObj->pAppInfo->pTransporter, &pMsgInfo->epSet, &transporterId, pSendMsg));
+ // int64_t transporterId = 0;
+ TSC_ERR_RET(asyncSendMsgToServer(pTscObj->pAppInfo->pTransporter, &pMsgInfo->epSet, NULL, pSendMsg));
(void)tsem_wait(&pRequest->body.rspSem);
return TSDB_CODE_SUCCESS;
}
@@ -396,8 +406,8 @@ int32_t asyncExecDdlQuery(SRequestObj* pRequest, SQuery* pQuery) {
SAppInstInfo* pAppInfo = getAppInfo(pRequest);
SMsgSendInfo* pSendMsg = buildMsgInfoImpl(pRequest);
- int64_t transporterId = 0;
- int32_t code = asyncSendMsgToServer(pAppInfo->pTransporter, &pMsgInfo->epSet, &transporterId, pSendMsg);
+ // int64_t transporterId = 0;
+ int32_t code = asyncSendMsgToServer(pAppInfo->pTransporter, &pMsgInfo->epSet, NULL, pSendMsg);
if (code) {
doRequestCallback(pRequest, code);
}
@@ -2953,6 +2963,10 @@ void taosAsyncFetchImpl(SRequestObj* pRequest, __taos_async_fn_t fp, void* param
void doRequestCallback(SRequestObj* pRequest, int32_t code) {
pRequest->inCallback = true;
int64_t this = pRequest->self;
+ if (tsQueryTbNotExistAsEmpty && TD_RES_QUERY(&pRequest->resType) && pRequest->isQuery && (code == TSDB_CODE_PAR_TABLE_NOT_EXIST || code == TSDB_CODE_TDB_TABLE_NOT_EXIST)) {
+ code = TSDB_CODE_SUCCESS;
+ pRequest->type = TSDB_SQL_RETRIEVE_EMPTY_RESULT;
+ }
pRequest->body.queryFp(((SSyncQueryParam*)pRequest->body.interParam)->userParam, pRequest, code);
SRequestObj* pReq = acquireRequest(this);
if (pReq != NULL) {
diff --git a/source/client/src/clientMain.c b/source/client/src/clientMain.c
index 471e051094..546d2f11d0 100644
--- a/source/client/src/clientMain.c
+++ b/source/client/src/clientMain.c
@@ -297,9 +297,8 @@ void taos_fetch_whitelist_a(TAOS *taos, __taos_async_whitelist_fn_t fp, void *pa
pSendInfo->fp = fetchWhiteListCallbackFn;
pSendInfo->msgType = TDMT_MND_GET_USER_WHITELIST;
- int64_t transportId = 0;
- SEpSet epSet = getEpSet_s(&pTsc->pAppInfo->mgmtEp);
- if (TSDB_CODE_SUCCESS != asyncSendMsgToServer(pTsc->pAppInfo->pTransporter, &epSet, &transportId, pSendInfo)) {
+ SEpSet epSet = getEpSet_s(&pTsc->pAppInfo->mgmtEp);
+ if (TSDB_CODE_SUCCESS != asyncSendMsgToServer(pTsc->pAppInfo->pTransporter, &epSet, NULL, pSendInfo)) {
tscWarn("failed to async send msg to server");
}
releaseTscObj(connId);
@@ -861,9 +860,9 @@ int *taos_get_column_data_offset(TAOS_RES *res, int columnIndex) {
return pResInfo->pCol[columnIndex].offset;
}
-int taos_is_null_by_column(TAOS_RES *res, int columnIndex, bool result[], int *rows){
- if (res == NULL || result == NULL || rows == NULL || *rows <= 0 ||
- columnIndex < 0 || TD_RES_TMQ_META(res) || TD_RES_TMQ_BATCH_META(res)) {
+int taos_is_null_by_column(TAOS_RES *res, int columnIndex, bool result[], int *rows) {
+ if (res == NULL || result == NULL || rows == NULL || *rows <= 0 || columnIndex < 0 || TD_RES_TMQ_META(res) ||
+ TD_RES_TMQ_BATCH_META(res)) {
return TSDB_CODE_INVALID_PARA;
}
@@ -876,22 +875,22 @@ int taos_is_null_by_column(TAOS_RES *res, int columnIndex, bool result[], int *r
TAOS_FIELD *pField = &pResInfo->userFields[columnIndex];
SResultColumn *pCol = &pResInfo->pCol[columnIndex];
- if (*rows > pResInfo->numOfRows){
+ if (*rows > pResInfo->numOfRows) {
*rows = pResInfo->numOfRows;
}
if (IS_VAR_DATA_TYPE(pField->type)) {
- for(int i = 0; i < *rows; i++){
- if(pCol->offset[i] == -1){
+ for (int i = 0; i < *rows; i++) {
+ if (pCol->offset[i] == -1) {
result[i] = true;
- }else{
+ } else {
result[i] = false;
}
}
- }else{
- for(int i = 0; i < *rows; i++){
- if (colDataIsNull_f(pCol->nullbitmap, i)){
+ } else {
+ for (int i = 0; i < *rows; i++) {
+ if (colDataIsNull_f(pCol->nullbitmap, i)) {
result[i] = true;
- }else{
+ } else {
result[i] = false;
}
}
@@ -1236,7 +1235,8 @@ int32_t createParseContext(const SRequestObj *pRequest, SParseContext **pCxt, SS
.nodeOffline = (pTscObj->pAppInfo->onlineDnodes < pTscObj->pAppInfo->totalDnodes),
.allocatorId = pRequest->allocatorRefId,
.parseSqlFp = clientParseSql,
- .parseSqlParam = pWrapper};
+ .parseSqlParam = pWrapper,
+ .setQueryFp = setQueryRequest};
int8_t biMode = atomic_load_8(&((STscObj *)pTscObj)->biMode);
(*pCxt)->biMode = biMode;
return TSDB_CODE_SUCCESS;
diff --git a/source/client/src/clientMonitor.c b/source/client/src/clientMonitor.c
index 612f57ecdd..9ed6512352 100644
--- a/source/client/src/clientMonitor.c
+++ b/source/client/src/clientMonitor.c
@@ -113,15 +113,15 @@ static int32_t monitorReportAsyncCB(void* param, SDataBuf* pMsg, int32_t code) {
tscError("failed to send slow log:%s, clusterId:%" PRIx64, p->data, p->clusterId);
}
MonitorSlowLogData tmp = {.clusterId = p->clusterId,
- .type = p->type,
- .fileName = p->fileName,
- .pFile = p->pFile,
- .offset = p->offset,
- .data = NULL};
+ .type = p->type,
+ .fileName = p->fileName,
+ .pFile = p->pFile,
+ .offset = p->offset,
+ .data = NULL};
if (monitorPutData2MonitorQueue(tmp) == 0) {
p->fileName = NULL;
} else {
- if(taosCloseFile(&(p->pFile)) != 0) {
+ if (taosCloseFile(&(p->pFile)) != 0) {
tscError("failed to close file:%p", p->pFile);
}
}
@@ -165,8 +165,8 @@ static int32_t sendReport(void* pTransporter, SEpSet* epSet, char* pCont, MONITO
pInfo->requestId = tGenIdPI64();
pInfo->requestObjRefId = 0;
- int64_t transporterId = 0;
- return asyncSendMsgToServer(pTransporter, epSet, &transporterId, pInfo);
+ // int64_t transporterId = 0;
+ return asyncSendMsgToServer(pTransporter, epSet, NULL, pInfo);
FAILED:
if (taosCloseFile(&(((MonitorSlowLogData*)param)->pFile)) != 0) {
@@ -286,7 +286,7 @@ void monitorCreateClient(int64_t clusterId) {
return;
- fail:
+fail:
destroyMonitorClient(&pMonitor);
taosWUnLockLatch(&monitorLock);
}
@@ -302,7 +302,7 @@ void monitorCreateClientCounter(int64_t clusterId, const char* name, const char*
taos_counter_t* newCounter = taos_counter_new(name, help, label_key_count, label_keys);
if (newCounter == NULL) return;
MonitorClient* pMonitor = *ppMonitor;
- if (taos_collector_add_metric(pMonitor->colector, newCounter) != 0){
+ if (taos_collector_add_metric(pMonitor->colector, newCounter) != 0) {
tscError("failed to add metric to collector");
(void)taos_counter_destroy(newCounter);
goto end;
@@ -315,7 +315,7 @@ void monitorCreateClientCounter(int64_t clusterId, const char* name, const char*
tscInfo("[monitor] monitorCreateClientCounter %" PRIx64 "(%p):%s : %p.", pMonitor->clusterId, pMonitor, name,
newCounter);
- end:
+end:
taosWUnLockLatch(&monitorLock);
}
@@ -338,13 +338,13 @@ void monitorCounterInc(int64_t clusterId, const char* counterName, const char**
tscError("monitorCounterInc not found pCounter %" PRIx64 ":%s.", clusterId, counterName);
goto end;
}
- if (taos_counter_inc(*ppCounter, label_values) != 0){
+ if (taos_counter_inc(*ppCounter, label_values) != 0) {
tscError("monitorCounterInc failed to inc %" PRIx64 ":%s.", clusterId, counterName);
goto end;
}
tscDebug("[monitor] monitorCounterInc %" PRIx64 "(%p):%s", pMonitor->clusterId, pMonitor, counterName);
- end:
+end:
taosWUnLockLatch(&monitorLock);
}
@@ -413,7 +413,7 @@ static char* readFile(TdFilePtr pFile, int64_t* offset, int64_t size) {
return NULL;
}
- if((size <= *offset)){
+ if ((size <= *offset)) {
tscError("invalid size:%" PRId64 ", offset:%" PRId64, size, *offset);
terrno = TSDB_CODE_TSC_INTERNAL_ERROR;
return NULL;
@@ -510,13 +510,13 @@ static int32_t monitorReadSend(int64_t clusterId, TdFilePtr pFile, int64_t* offs
}
SEpSet ep = getEpSet_s(&pInst->mgmtEp);
char* data = readFile(pFile, offset, size);
- if(data == NULL) return terrno;
+ if (data == NULL) return terrno;
return sendSlowLog(clusterId, data, (type == SLOW_LOG_READ_BEGINNIG ? pFile : NULL), *offset, type, fileName,
pInst->pTransporter, &ep);
}
static void monitorSendSlowLogAtBeginning(int64_t clusterId, char** fileName, TdFilePtr pFile, int64_t offset) {
- if (fileName == NULL){
+ if (fileName == NULL) {
return;
}
int64_t size = getFileSize(*fileName);
@@ -525,10 +525,11 @@ static void monitorSendSlowLogAtBeginning(int64_t clusterId, char** fileName, Td
tscDebug("[monitor] monitorSendSlowLogAtBeginning delete file:%s", *fileName);
} else {
int32_t code = monitorReadSend(clusterId, pFile, &offset, size, SLOW_LOG_READ_BEGINNIG, *fileName);
- if (code == 0){
+ if (code == 0) {
tscDebug("[monitor] monitorSendSlowLogAtBeginning send slow log succ, clusterId:%" PRId64, clusterId);
- }else{
- tscError("[monitor] monitorSendSlowLogAtBeginning send slow log failed, clusterId:%" PRId64 ",ret:%d", clusterId, code);
+ } else {
+ tscError("[monitor] monitorSendSlowLogAtBeginning send slow log failed, clusterId:%" PRId64 ",ret:%d", clusterId,
+ code);
}
*fileName = NULL;
}
diff --git a/source/client/src/clientStmt.c b/source/client/src/clientStmt.c
index 9f7aeabbe4..52b56abb91 100644
--- a/source/client/src/clientStmt.c
+++ b/source/client/src/clientStmt.c
@@ -1241,7 +1241,9 @@ int stmtBindBatch(TAOS_STMT* stmt, TAOS_MULTI_BIND* bind, int32_t colIdx) {
.msgLen = ERROR_MSG_BUF_DEFAULT_SIZE,
.pTransporter = pStmt->taos->pAppInfo->pTransporter,
.pStmtCb = NULL,
- .pUser = pStmt->taos->user};
+ .pUser = pStmt->taos->user,
+ .setQueryFp = setQueryRequest};
+
ctx.mgmtEpSet = getEpSet_s(&pStmt->taos->pAppInfo->mgmtEp);
STMT_ERR_RET(catalogGetHandle(pStmt->taos->pAppInfo->clusterId, &ctx.pCatalog));
diff --git a/source/client/src/clientTmq.c b/source/client/src/clientTmq.c
index 3927172b61..783815d97f 100644
--- a/source/client/src/clientTmq.c
+++ b/source/client/src/clientTmq.c
@@ -552,9 +552,9 @@ static int32_t doSendCommitMsg(tmq_t* tmq, int32_t vgId, SEpSet* epSet, STqOffse
pMsgSendInfo->fp = tmqCommitCb;
pMsgSendInfo->msgType = TDMT_VND_TMQ_COMMIT_OFFSET;
- int64_t transporterId = 0;
+ // int64_t transporterId = 0;
(void)atomic_add_fetch_32(&pParamSet->waitingRspNum, 1);
- code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, epSet, &transporterId, pMsgSendInfo);
+ code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, epSet, NULL, pMsgSendInfo);
if (code != 0) {
(void)atomic_sub_fetch_32(&pParamSet->waitingRspNum, 1);
return code;
@@ -955,8 +955,7 @@ void tmqSendHbReq(void* param, void* tmrId) {
SEpSet epSet = getEpSet_s(&tmq->pTscObj->pAppInfo->mgmtEp);
- int64_t transporterId = 0;
- int32_t code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &epSet, &transporterId, sendInfo);
+ int32_t code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &epSet, NULL, sendInfo);
if (code != 0) {
tscError("tmqSendHbReq asyncSendMsgToServer failed");
}
@@ -1436,8 +1435,7 @@ int32_t tmq_subscribe(tmq_t* tmq, const tmq_list_t* topic_list) {
SEpSet epSet = getEpSet_s(&tmq->pTscObj->pAppInfo->mgmtEp);
- int64_t transporterId = 0;
- code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &epSet, &transporterId, sendInfo);
+ code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &epSet, NULL, sendInfo);
if (code != 0) {
goto FAIL;
}
@@ -2044,10 +2042,10 @@ static int32_t doTmqPollImpl(tmq_t* pTmq, SMqClientTopic* pTopic, SMqClientVg* p
sendInfo->fp = tmqPollCb;
sendInfo->msgType = TDMT_VND_TMQ_CONSUME;
- int64_t transporterId = 0;
- char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
+ // int64_t transporterId = 0;
+ char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
tFormatOffset(offsetFormatBuf, tListLen(offsetFormatBuf), &pVg->offsetInfo.endOffset);
- code = asyncSendMsgToServer(pTmq->pTscObj->pAppInfo->pTransporter, &pVg->epSet, &transporterId, sendInfo);
+ code = asyncSendMsgToServer(pTmq->pTscObj->pAppInfo->pTransporter, &pVg->epSet, NULL, sendInfo);
tscDebug("consumer:0x%" PRIx64 " send poll to %s vgId:%d, code:%d, epoch %d, req:%s,QID:0x%" PRIx64, pTmq->consumerId,
pTopic->topicName, pVg->vgId, code, pTmq->epoch, offsetFormatBuf, req.reqId);
if (code != 0) {
@@ -3221,8 +3219,7 @@ int64_t getCommittedFromServer(tmq_t* tmq, char* tname, int32_t vgId, SEpSet* ep
sendInfo->fp = tmCommittedCb;
sendInfo->msgType = TDMT_VND_TMQ_VG_COMMITTEDINFO;
- int64_t transporterId = 0;
- code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, epSet, &transporterId, sendInfo);
+ code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, epSet, NULL, sendInfo);
if (code != 0) {
(void)tsem2_destroy(&pParam->sem);
taosMemoryFree(pParam);
@@ -3498,13 +3495,13 @@ int32_t tmq_get_topic_assignment(tmq_t* tmq, const char* pTopicName, tmq_topic_a
sendInfo->fp = tmqGetWalInfoCb;
sendInfo->msgType = TDMT_VND_TMQ_VG_WALINFO;
- int64_t transporterId = 0;
- char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
+ // int64_t transporterId = 0;
+ char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
tFormatOffset(offsetFormatBuf, tListLen(offsetFormatBuf), &pClientVg->offsetInfo.beginOffset);
tscInfo("consumer:0x%" PRIx64 " %s retrieve wal info vgId:%d, epoch %d, req:%s,QID:0x%" PRIx64, tmq->consumerId,
pTopic->topicName, pClientVg->vgId, tmq->epoch, offsetFormatBuf, req.reqId);
- code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &pClientVg->epSet, &transporterId, sendInfo);
+ code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &pClientVg->epSet, NULL, sendInfo);
if (code != 0) {
goto end;
}
@@ -3668,8 +3665,7 @@ int32_t tmq_offset_seek(tmq_t* tmq, const char* pTopicName, int32_t vgId, int64_
sendInfo->fp = tmqSeekCb;
sendInfo->msgType = TDMT_VND_TMQ_SEEK;
- int64_t transporterId = 0;
- code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &epSet, &transporterId, sendInfo);
+ code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &epSet, NULL, sendInfo);
if (code != 0) {
(void)tsem2_destroy(&pParam->sem);
taosMemoryFree(pParam);
diff --git a/source/common/src/systable.c b/source/common/src/systable.c
index 3f27ab2b2b..2f3ffecf61 100644
--- a/source/common/src/systable.c
+++ b/source/common/src/systable.c
@@ -427,6 +427,7 @@ static const SSysDbTableSchema userMachinesSchema[] = {
{.name = "id", .bytes = TSDB_CLUSTER_ID_LEN + 1 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = true},
{.name = "dnode_num", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = true},
{.name = "machine", .bytes = 7552 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = true},
+ {.name = "version", .bytes = 32 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = true},
};
static const SSysDbTableSchema encryptionsSchema[] = {
diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c
index 8e50c943b9..816bf3a757 100644
--- a/source/common/src/tdatablock.c
+++ b/source/common/src/tdatablock.c
@@ -3009,6 +3009,12 @@ int32_t blockEncode(const SSDataBlock* pBlock, char* data, int32_t numOfCols) {
data += colSizes[col];
}
+ if (colSizes[col] <= 0 && !colDataIsNull_s(pColRes, 0) && pColRes->info.type != TSDB_DATA_TYPE_NULL) {
+ uError("Invalid colSize:%d colIdx:%d colType:%d while encoding block", colSizes[col], col, pColRes->info.type);
+ terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR;
+ return -1;
+ }
+
colSizes[col] = htonl(colSizes[col]);
// uError("blockEncode col bytes:%d, type:%d, size:%d, htonl size:%d", pColRes->info.bytes, pColRes->info.type,
// htonl(colSizes[col]), colSizes[col]);
@@ -3036,6 +3042,11 @@ int32_t blockDecode(SSDataBlock* pBlock, const char* pData, const char** pEndPos
// total rows sizeof(int32_t)
int32_t numOfRows = *(int32_t*)pStart;
pStart += sizeof(int32_t);
+ if (numOfRows <= 0) {
+ uError("block decode numOfRows:%d error", numOfRows);
+ terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR;
+ return terrno;
+ }
// total columns sizeof(int32_t)
int32_t numOfCols = *(int32_t*)pStart;
@@ -3115,14 +3126,19 @@ int32_t blockDecode(SSDataBlock* pBlock, const char* pData, const char** pEndPos
pStart += BitmapLen(numOfRows);
}
- if (colLen[i] > 0) {
- memcpy(pColInfoData->pData, pStart, colLen[i]);
- }
-
// TODO
// setting this flag to true temporarily so aggregate function on stable will
// examine NULL value for non-primary key column
pColInfoData->hasNull = true;
+
+ if (colLen[i] > 0) {
+ memcpy(pColInfoData->pData, pStart, colLen[i]);
+ } else if (!colDataIsNull_s(pColInfoData, 0) && pColInfoData->info.type != TSDB_DATA_TYPE_NULL) {
+ uError("block decode colLen:%d error, colIdx:%d, type:%d", colLen[i], i, pColInfoData->info.type);
+ terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR;
+ return terrno;
+ }
+
pStart += colLen[i];
}
diff --git a/source/common/src/tglobal.c b/source/common/src/tglobal.c
index 100a24f44d..367eb68865 100644
--- a/source/common/src/tglobal.c
+++ b/source/common/src/tglobal.c
@@ -162,6 +162,7 @@ int32_t tmqMaxTopicNum = 20;
int32_t tmqRowSize = 4096;
// query
int32_t tsQueryPolicy = 1;
+bool tsQueryTbNotExistAsEmpty = false;
int32_t tsQueryRspPolicy = 0;
int64_t tsQueryMaxConcurrentTables = 200; // unit is TSDB_TABLE_NUM_UNIT
bool tsEnableQueryHb = true;
@@ -569,6 +570,7 @@ static int32_t taosAddClientCfg(SConfig *pCfg) {
TAOS_CHECK_RETURN(
cfgAddInt32(pCfg, "compressMsgSize", tsCompressMsgSize, -1, 100000000, CFG_SCOPE_BOTH, CFG_DYN_CLIENT));
TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "queryPolicy", tsQueryPolicy, 1, 4, CFG_SCOPE_CLIENT, CFG_DYN_ENT_CLIENT));
+ TAOS_CHECK_RETURN(cfgAddBool(pCfg, "queryTableNotExistAsEmpty", tsQueryTbNotExistAsEmpty, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT));
TAOS_CHECK_RETURN(cfgAddBool(pCfg, "enableQueryHb", tsEnableQueryHb, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT));
TAOS_CHECK_RETURN(cfgAddBool(pCfg, "enableScience", tsEnableScience, CFG_SCOPE_CLIENT, CFG_DYN_NONE));
TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "querySmaOptimize", tsQuerySmaOptimize, 0, 1, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT));
@@ -1181,6 +1183,9 @@ static int32_t taosSetClientCfg(SConfig *pCfg) {
TAOS_CHECK_GET_CFG_ITEM(pCfg, pItem, "queryPolicy");
tsQueryPolicy = pItem->i32;
+ TAOS_CHECK_GET_CFG_ITEM(pCfg, pItem, "queryTableNotExistAsEmpty");
+ tsQueryTbNotExistAsEmpty = pItem->bval;
+
TAOS_CHECK_GET_CFG_ITEM(pCfg, pItem, "enableQueryHb");
tsEnableQueryHb = pItem->bval;
@@ -2218,6 +2223,7 @@ static int32_t taosCfgDynamicOptionsForClient(SConfig *pCfg, const char *name) {
{"numOfLogLines", &tsNumOfLogLines},
{"querySmaOptimize", &tsQuerySmaOptimize},
{"queryPolicy", &tsQueryPolicy},
+ {"queryTableNotExistAsEmpty", &tsQueryTbNotExistAsEmpty},
{"queryPlannerTrace", &tsQueryPlannerTrace},
{"queryNodeChunkSize", &tsQueryNodeChunkSize},
{"queryUseNodeAllocator", &tsQueryUseNodeAllocator},
diff --git a/source/common/src/tmsg.c b/source/common/src/tmsg.c
index 1bc9dd07cf..1b10ba3226 100644
--- a/source/common/src/tmsg.c
+++ b/source/common/src/tmsg.c
@@ -5180,25 +5180,33 @@ int32_t tSerializeSTableIndexInfo(SEncoder *pEncoder, STableIndexInfo *pInfo) {
int32_t tSerializeSTableIndexRsp(void *buf, int32_t bufLen, const STableIndexRsp *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 (tEncodeCStr(&encoder, pRsp->tbName) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->dbFName) < 0) return -1;
- if (tEncodeU64(&encoder, pRsp->suid) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->version) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->indexSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->tbName));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->dbFName));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pRsp->suid));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->version));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->indexSize));
int32_t num = taosArrayGetSize(pRsp->pIndex);
- if (tEncodeI32(&encoder, num) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, num));
if (num > 0) {
for (int32_t i = 0; i < num; ++i) {
STableIndexInfo *pInfo = (STableIndexInfo *)taosArrayGet(pRsp->pIndex, i);
- if (tSerializeSTableIndexInfo(&encoder, pInfo) < 0) return -1;
+ TAOS_CHECK_EXIT(tSerializeSTableIndexInfo(&encoder, pInfo));
}
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
@@ -5211,47 +5219,51 @@ void tFreeSerializeSTableIndexRsp(STableIndexRsp *pRsp) {
}
int32_t tDeserializeSTableIndexInfo(SDecoder *pDecoder, STableIndexInfo *pInfo) {
- if (tDecodeI8(pDecoder, &pInfo->intervalUnit) < 0) return -1;
- if (tDecodeI8(pDecoder, &pInfo->slidingUnit) < 0) return -1;
- if (tDecodeI64(pDecoder, &pInfo->interval) < 0) return -1;
- if (tDecodeI64(pDecoder, &pInfo->offset) < 0) return -1;
- if (tDecodeI64(pDecoder, &pInfo->sliding) < 0) return -1;
- if (tDecodeI64(pDecoder, &pInfo->dstTbUid) < 0) return -1;
- if (tDecodeI32(pDecoder, &pInfo->dstVgId) < 0) return -1;
- if (tDecodeSEpSet(pDecoder, &pInfo->epSet) < 0) return -1;
- if (tDecodeCStrAlloc(pDecoder, &pInfo->expr) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tDecodeI8(pDecoder, &pInfo->intervalUnit));
+ TAOS_CHECK_RETURN(tDecodeI8(pDecoder, &pInfo->slidingUnit));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pInfo->interval));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pInfo->offset));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pInfo->sliding));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pInfo->dstTbUid));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pInfo->dstVgId));
+ TAOS_CHECK_RETURN(tDecodeSEpSet(pDecoder, &pInfo->epSet));
+ TAOS_CHECK_RETURN(tDecodeCStrAlloc(pDecoder, &pInfo->expr));
return 0;
}
int32_t tDeserializeSTableIndexRsp(void *buf, int32_t bufLen, STableIndexRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->tbName) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->dbFName) < 0) return -1;
- if (tDecodeU64(&decoder, &pRsp->suid) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->version) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->indexSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->tbName));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->dbFName));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pRsp->suid));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->version));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->indexSize));
int32_t num = 0;
- if (tDecodeI32(&decoder, &num) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &num));
if (num > 0) {
pRsp->pIndex = taosArrayInit(num, sizeof(STableIndexInfo));
- if (NULL == pRsp->pIndex) return -1;
+ if (NULL == pRsp->pIndex) {
+ TAOS_CHECK_EXIT(terrno);
+ }
STableIndexInfo info;
for (int32_t i = 0; i < num; ++i) {
- if (tDeserializeSTableIndexInfo(&decoder, &info) < 0) return -1;
+ TAOS_CHECK_EXIT(tDeserializeSTableIndexInfo(&decoder, &info));
if (NULL == taosArrayPush(pRsp->pIndex, &info)) {
taosMemoryFree(info.expr);
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSTableIndexInfo(void *info) {
@@ -5266,81 +5278,92 @@ void tFreeSTableIndexInfo(void *info) {
int32_t tSerializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesReq *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 (tEncodeI32(&encoder, pReq->useless) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->useless));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
-// int32_t tDeserializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesReq *pReq) {
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &pReq->useless) < 0) return -1;
-
-// tEndDecode(&decoder);
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
int32_t tEncodeSVariablesInfo(SEncoder *pEncoder, SVariablesInfo *pInfo) {
- if (tEncodeCStr(pEncoder, pInfo->name) < 0) return -1;
- if (tEncodeCStr(pEncoder, pInfo->value) < 0) return -1;
- if (tEncodeCStr(pEncoder, pInfo->scope) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pInfo->name));
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pInfo->value));
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pInfo->scope));
return 0;
}
int32_t tDecodeSVariablesInfo(SDecoder *pDecoder, SVariablesInfo *pInfo) {
- if (tDecodeCStrTo(pDecoder, pInfo->name) < 0) return -1;
- if (tDecodeCStrTo(pDecoder, pInfo->value) < 0) return -1;
- if (tDecodeCStrTo(pDecoder, pInfo->scope) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pInfo->name));
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pInfo->value));
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pInfo->scope));
return 0;
}
int32_t tSerializeSShowVariablesRsp(void *buf, int32_t bufLen, SShowVariablesRsp *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 varNum = taosArrayGetSize(pRsp->variables);
- if (tEncodeI32(&encoder, varNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, varNum));
for (int32_t i = 0; i < varNum; ++i) {
SVariablesInfo *pInfo = taosArrayGet(pRsp->variables, i);
- if (tEncodeSVariablesInfo(&encoder, pInfo) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSVariablesInfo(&encoder, pInfo));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSShowVariablesRsp(void *buf, int32_t bufLen, SShowVariablesRsp *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 varNum = 0;
- if (tDecodeI32(&decoder, &varNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &varNum));
if (varNum > 0) {
pRsp->variables = taosArrayInit(varNum, sizeof(SVariablesInfo));
- if (NULL == pRsp->variables) return -1;
+ if (NULL == pRsp->variables) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < varNum; ++i) {
SVariablesInfo info = {0};
- if (tDecodeSVariablesInfo(&decoder, &info) < 0) return -1;
- if (NULL == taosArrayPush(pRsp->variables, &info)) return -1;
+ TAOS_CHECK_EXIT(tDecodeSVariablesInfo(&decoder, &info));
+ if (NULL == taosArrayPush(pRsp->variables, &info)) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSShowVariablesRsp(SShowVariablesRsp *pRsp) {
@@ -5353,108 +5376,109 @@ void tFreeSShowVariablesRsp(SShowVariablesRsp *pRsp) {
int32_t tSerializeSShowReq(void *buf, int32_t bufLen, SShowReq *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 (tEncodeI32(&encoder, pReq->type) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->payloadLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->type));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->payloadLen));
if (pReq->payloadLen > 0) {
- if (tEncodeBinary(&encoder, pReq->payload, pReq->payloadLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(&encoder, pReq->payload, pReq->payloadLen));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
-// int32_t tDeserializeSShowReq(void *buf, int32_t bufLen, SShowReq *pReq) {
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &pReq->type) < 0) return -1;
-// if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
-// if (tDecodeI32(&decoder, &pReq->payloadLen) < 0) return -1;
-// if (pReq->payloadLen > 0) {
-// pReq->payload = taosMemoryMalloc(pReq->payloadLen);
-// if (pReq->payload == NULL) return -1;
-// if (tDecodeCStrTo(&decoder, pReq->payload) < 0) return -1;
-// }
-
-// tEndDecode(&decoder);
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
void tFreeSShowReq(SShowReq *pReq) { taosMemoryFreeClear(pReq->payload); }
int32_t tSerializeSRetrieveTableReq(void *buf, int32_t bufLen, SRetrieveTableReq *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 (tEncodeI64(&encoder, pReq->showId) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->tb) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->filterTb) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->user) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->compactId) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->withFull) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->showId));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->tb));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->filterTb));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->user));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->compactId));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->withFull));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSRetrieveTableReq(void *buf, int32_t bufLen, SRetrieveTableReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
+
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->showId) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->tb) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->filterTb) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->user) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->showId));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->db));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->tb));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->filterTb));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->user));
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI64(&decoder, &pReq->compactId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->compactId));
} else {
pReq->compactId = -1;
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, (int8_t *)&pReq->withFull) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, (int8_t *)&pReq->withFull));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
static int32_t tEncodeSTableMetaRsp(SEncoder *pEncoder, STableMetaRsp *pRsp) {
- if (tEncodeCStr(pEncoder, pRsp->tbName) < 0) return -1;
- if (tEncodeCStr(pEncoder, pRsp->stbName) < 0) return -1;
- if (tEncodeCStr(pEncoder, pRsp->dbFName) < 0) return -1;
- if (tEncodeI64(pEncoder, pRsp->dbId) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->numOfTags) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->numOfColumns) < 0) return -1;
- if (tEncodeI8(pEncoder, pRsp->precision) < 0) return -1;
- if (tEncodeI8(pEncoder, pRsp->tableType) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->sversion) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->tversion) < 0) return -1;
- if (tEncodeU64(pEncoder, pRsp->suid) < 0) return -1;
- if (tEncodeU64(pEncoder, pRsp->tuid) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->vgId) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pRsp->tbName));
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pRsp->stbName));
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pRsp->dbFName));
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, pRsp->dbId));
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pRsp->numOfTags));
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pRsp->numOfColumns));
+ TAOS_CHECK_RETURN(tEncodeI8(pEncoder, pRsp->precision));
+ TAOS_CHECK_RETURN(tEncodeI8(pEncoder, pRsp->tableType));
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pRsp->sversion));
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pRsp->tversion));
+ TAOS_CHECK_RETURN(tEncodeU64(pEncoder, pRsp->suid));
+ TAOS_CHECK_RETURN(tEncodeU64(pEncoder, pRsp->tuid));
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pRsp->vgId));
for (int32_t i = 0; i < pRsp->numOfColumns + pRsp->numOfTags; ++i) {
SSchema *pSchema = &pRsp->pSchemas[i];
- if (tEncodeSSchema(pEncoder, pSchema) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSSchema(pEncoder, pSchema));
}
if (useCompress(pRsp->tableType)) {
for (int32_t i = 0; i < pRsp->numOfColumns; ++i) {
SSchemaExt *pSchemaExt = &pRsp->pSchemaExt[i];
- if (tEncodeSSchemaExt(pEncoder, pSchemaExt) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSSchemaExt(pEncoder, pSchemaExt));
}
}
@@ -5462,28 +5486,30 @@ static int32_t tEncodeSTableMetaRsp(SEncoder *pEncoder, STableMetaRsp *pRsp) {
}
static int32_t tDecodeSTableMetaRsp(SDecoder *pDecoder, STableMetaRsp *pRsp) {
- if (tDecodeCStrTo(pDecoder, pRsp->tbName) < 0) return -1;
- if (tDecodeCStrTo(pDecoder, pRsp->stbName) < 0) return -1;
- if (tDecodeCStrTo(pDecoder, pRsp->dbFName) < 0) return -1;
- if (tDecodeI64(pDecoder, &pRsp->dbId) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->numOfTags) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->numOfColumns) < 0) return -1;
- if (tDecodeI8(pDecoder, &pRsp->precision) < 0) return -1;
- if (tDecodeI8(pDecoder, &pRsp->tableType) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->sversion) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->tversion) < 0) return -1;
- if (tDecodeU64(pDecoder, &pRsp->suid) < 0) return -1;
- if (tDecodeU64(pDecoder, &pRsp->tuid) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->vgId) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pRsp->tbName));
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pRsp->stbName));
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pRsp->dbFName));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pRsp->dbId));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pRsp->numOfTags));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pRsp->numOfColumns));
+ TAOS_CHECK_RETURN(tDecodeI8(pDecoder, &pRsp->precision));
+ TAOS_CHECK_RETURN(tDecodeI8(pDecoder, &pRsp->tableType));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pRsp->sversion));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pRsp->tversion));
+ TAOS_CHECK_RETURN(tDecodeU64(pDecoder, &pRsp->suid));
+ TAOS_CHECK_RETURN(tDecodeU64(pDecoder, &pRsp->tuid));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pRsp->vgId));
int32_t totalCols = pRsp->numOfTags + pRsp->numOfColumns;
if (totalCols > 0) {
pRsp->pSchemas = taosMemoryMalloc(sizeof(SSchema) * totalCols);
- if (pRsp->pSchemas == NULL) return -1;
+ if (pRsp->pSchemas == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int32_t i = 0; i < totalCols; ++i) {
SSchema *pSchema = &pRsp->pSchemas[i];
- if (tDecodeSSchema(pDecoder, pSchema) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSSchema(pDecoder, pSchema));
}
} else {
pRsp->pSchemas = NULL;
@@ -5492,11 +5518,13 @@ static int32_t tDecodeSTableMetaRsp(SDecoder *pDecoder, STableMetaRsp *pRsp) {
if (!tDecodeIsEnd(pDecoder)) {
if (useCompress(pRsp->tableType) && pRsp->numOfColumns > 0) {
pRsp->pSchemaExt = taosMemoryMalloc(sizeof(SSchemaExt) * pRsp->numOfColumns);
- if (pRsp->pSchemaExt == NULL) return -1;
+ if (pRsp->pSchemaExt == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int32_t i = 0; i < pRsp->numOfColumns; ++i) {
SSchemaExt *pSchemaExt = &pRsp->pSchemaExt[i];
- if (tDecodeSSchemaExt(pDecoder, pSchemaExt) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSSchemaExt(pDecoder, pSchemaExt));
}
} else {
pRsp->pSchemaExt = NULL;
@@ -5508,128 +5536,155 @@ static int32_t tDecodeSTableMetaRsp(SDecoder *pDecoder, STableMetaRsp *pRsp) {
int32_t tSerializeSTableMetaRsp(void *buf, int32_t bufLen, STableMetaRsp *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 (tEncodeSTableMetaRsp(&encoder, pRsp) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeSTableMetaRsp(&encoder, pRsp));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tSerializeSSTbHbRsp(void *buf, int32_t bufLen, SSTbHbRsp *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->pMetaRsp);
- if (tEncodeI32(&encoder, numOfMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, numOfMeta));
for (int32_t i = 0; i < numOfMeta; ++i) {
STableMetaRsp *pMetaRsp = taosArrayGet(pRsp->pMetaRsp, i);
- if (tEncodeSTableMetaRsp(&encoder, pMetaRsp) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSTableMetaRsp(&encoder, pMetaRsp));
}
int32_t numOfIndex = taosArrayGetSize(pRsp->pIndexRsp);
- if (tEncodeI32(&encoder, numOfIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, numOfIndex));
for (int32_t i = 0; i < numOfIndex; ++i) {
STableIndexRsp *pIndexRsp = taosArrayGet(pRsp->pIndexRsp, i);
- if (tEncodeCStr(&encoder, pIndexRsp->tbName) < 0) return -1;
- if (tEncodeCStr(&encoder, pIndexRsp->dbFName) < 0) return -1;
- if (tEncodeU64(&encoder, pIndexRsp->suid) < 0) return -1;
- if (tEncodeI32(&encoder, pIndexRsp->version) < 0) return -1;
- if (tEncodeI32(&encoder, pIndexRsp->indexSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pIndexRsp->tbName));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pIndexRsp->dbFName));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pIndexRsp->suid));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pIndexRsp->version));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pIndexRsp->indexSize));
int32_t num = taosArrayGetSize(pIndexRsp->pIndex);
- if (tEncodeI32(&encoder, num) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, num));
for (int32_t j = 0; j < num; ++j) {
STableIndexInfo *pInfo = (STableIndexInfo *)taosArrayGet(pIndexRsp->pIndex, j);
- if (tSerializeSTableIndexInfo(&encoder, pInfo) < 0) return -1;
+ TAOS_CHECK_EXIT(tSerializeSTableIndexInfo(&encoder, pInfo));
}
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSTableMetaRsp(void *buf, int32_t bufLen, STableMetaRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
+
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeSTableMetaRsp(&decoder, pRsp) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeSTableMetaRsp(&decoder, pRsp));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tDeserializeSSTbHbRsp(void *buf, int32_t bufLen, SSTbHbRsp *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->pMetaRsp = taosArrayInit(numOfMeta, sizeof(STableMetaRsp));
if (pRsp->pMetaRsp == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < numOfMeta; ++i) {
STableMetaRsp tableMetaRsp = {0};
- if (tDecodeSTableMetaRsp(&decoder, &tableMetaRsp) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSTableMetaRsp(&decoder, &tableMetaRsp));
if (taosArrayPush(pRsp->pMetaRsp, &tableMetaRsp) == NULL) {
taosMemoryFree(tableMetaRsp.pSchemas);
taosMemoryFree(tableMetaRsp.pSchemaExt);
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
int32_t numOfIndex = 0;
- if (tDecodeI32(&decoder, &numOfIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &numOfIndex));
pRsp->pIndexRsp = taosArrayInit(numOfIndex, sizeof(STableIndexRsp));
if (pRsp->pIndexRsp == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < numOfIndex; ++i) {
STableIndexRsp tableIndexRsp = {0};
- if (tDecodeCStrTo(&decoder, tableIndexRsp.tbName) < 0) return -1;
- if (tDecodeCStrTo(&decoder, tableIndexRsp.dbFName) < 0) return -1;
- if (tDecodeU64(&decoder, &tableIndexRsp.suid) < 0) return -1;
- if (tDecodeI32(&decoder, &tableIndexRsp.version) < 0) return -1;
- if (tDecodeI32(&decoder, &tableIndexRsp.indexSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, tableIndexRsp.tbName));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, tableIndexRsp.dbFName));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &tableIndexRsp.suid));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &tableIndexRsp.version));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &tableIndexRsp.indexSize));
int32_t num = 0;
- if (tDecodeI32(&decoder, &num) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &num));
if (num > 0) {
tableIndexRsp.pIndex = taosArrayInit(num, sizeof(STableIndexInfo));
- if (NULL == tableIndexRsp.pIndex) return -1;
+ if (NULL == tableIndexRsp.pIndex) {
+ TAOS_CHECK_EXIT(terrno);
+ }
STableIndexInfo info;
for (int32_t j = 0; j < num; ++j) {
- if (tDeserializeSTableIndexInfo(&decoder, &info) < 0) return -1;
+ TAOS_CHECK_EXIT(tDeserializeSTableIndexInfo(&decoder, &info));
if (NULL == taosArrayPush(tableIndexRsp.pIndex, &info)) {
taosMemoryFree(info.expr);
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
if (taosArrayPush(pRsp->pIndexRsp, &tableIndexRsp) == NULL) {
taosArrayDestroyEx(tableIndexRsp.pIndex, tFreeSTableIndexInfo);
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSTableMetaRsp(void *pRsp) {
@@ -5669,35 +5724,6 @@ void tFreeSSTbHbRsp(SSTbHbRsp *pRsp) {
taosArrayDestroy(pRsp->pIndexRsp);
}
-// int32_t tSerializeSShowRsp(void *buf, int32_t bufLen, SShowRsp *pRsp) {
-// SEncoder encoder = {0};
-// tEncoderInit(&encoder, buf, bufLen);
-
-// if (tStartEncode(&encoder) < 0) return -1;
-// if (tEncodeI64(&encoder, pRsp->showId) < 0) return -1;
-// if (tEncodeSTableMetaRsp(&encoder, &pRsp->tableMeta) < 0) return -1;
-// tEndEncode(&encoder);
-
-// int32_t tlen = encoder.pos;
-// tEncoderClear(&encoder);
-// return tlen;
-// }
-
-// int32_t tDeserializeSShowRsp(void *buf, int32_t bufLen, SShowRsp *pRsp) {
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI64(&decoder, &pRsp->showId) < 0) return -1;
-// if (tDecodeSTableMetaRsp(&decoder, &pRsp->tableMeta) < 0) return -1;
-
-// tEndDecode(&decoder);
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
-// void tFreeSShowRsp(SShowRsp *pRsp) { tFreeSTableMetaRsp(&pRsp->tableMeta); }
-
int32_t tSerializeSTableInfoReq(void *buf, int32_t bufLen, STableInfoReq *pReq) {
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
@@ -5746,132 +5772,169 @@ int32_t tDeserializeSTableInfoReq(void *buf, int32_t bufLen, STableInfoReq *pReq
int32_t tSerializeSMDropTopicReq(void *buf, int32_t bufLen, SMDropTopicReq *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;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igNotExists));
ENCODESQL();
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSMDropTopicReq(void *buf, int32_t bufLen, SMDropTopicReq *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));
DECODESQL();
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSMDropTopicReq(SMDropTopicReq *pReq) { FREESQL(); }
int32_t tSerializeSMDropCgroupReq(void *buf, int32_t bufLen, SMDropCgroupReq *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->topic) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->cgroup) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->igNotExists) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->topic));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->cgroup));
+ 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 tDeserializeSMDropCgroupReq(void *buf, int32_t bufLen, SMDropCgroupReq *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->topic) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->cgroup) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->igNotExists) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->topic));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->cgroup));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igNotExists));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSCMCreateTopicReq(void *buf, int32_t bufLen, const SCMCreateTopicReq *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->igExists) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->subType) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->withMeta) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->subDbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igExists));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->subType));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->withMeta));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->subDbName));
if (TOPIC_SUB_TYPE__DB == pReq->subType) {
} else {
if (TOPIC_SUB_TYPE__TABLE == pReq->subType) {
- if (tEncodeCStr(&encoder, pReq->subStbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->subStbName));
}
if (pReq->ast && strlen(pReq->ast) > 0) {
- if (tEncodeI32(&encoder, strlen(pReq->ast)) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->ast) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, strlen(pReq->ast)));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->ast));
} else {
- if (tEncodeI32(&encoder, 0) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, 0));
}
}
- if (tEncodeI32(&encoder, strlen(pReq->sql)) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->sql) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, strlen(pReq->sql)));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->sql));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSCMCreateTopicReq(void *buf, int32_t bufLen, SCMCreateTopicReq *pReq) {
- int32_t sqlLen = 0;
- int32_t astLen = 0;
-
+ int32_t sqlLen = 0;
+ int32_t astLen = 0;
+ int32_t code = 0;
+ int32_t lino;
SDecoder decoder = {0};
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->igExists) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->subType) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->withMeta) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->subDbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igExists));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->subType));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->withMeta));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->subDbName));
if (TOPIC_SUB_TYPE__DB == pReq->subType) {
} else {
if (TOPIC_SUB_TYPE__TABLE == pReq->subType) {
- if (tDecodeCStrTo(&decoder, pReq->subStbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->subStbName));
}
- if (tDecodeI32(&decoder, &astLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &astLen));
if (astLen > 0) {
pReq->ast = taosMemoryCalloc(1, astLen + 1);
- if (pReq->ast == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->ast) < 0) return -1;
+ if (pReq->ast == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->ast));
}
}
- if (tDecodeI32(&decoder, &sqlLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &sqlLen));
if (sqlLen > 0) {
pReq->sql = taosMemoryCalloc(1, sqlLen + 1);
- if (pReq->sql == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->sql) < 0) return -1;
+ if (pReq->sql == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->sql));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSCMCreateTopicReq(SCMCreateTopicReq *pReq) {
@@ -5883,196 +5946,224 @@ void tFreeSCMCreateTopicReq(SCMCreateTopicReq *pReq) {
int32_t tSerializeSConnectReq(void *buf, int32_t bufLen, SConnectReq *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 (tEncodeI8(&encoder, pReq->connType) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->pid) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->app) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->user) < 0) return -1;
- if (tEncodeCStrWithLen(&encoder, pReq->passwd, TSDB_PASSWORD_LEN) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->startTime) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->sVer) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->connType));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->pid));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->app));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->user));
+ TAOS_CHECK_EXIT(tEncodeCStrWithLen(&encoder, pReq->passwd, TSDB_PASSWORD_LEN));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->startTime));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->sVer));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSConnectReq(void *buf, int32_t bufLen, SConnectReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->connType) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->pid) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->app) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->user) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->passwd) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->startTime) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->connType));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->pid));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->app));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->db));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->user));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->passwd));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->startTime));
// Check the client version from version 3.0.3.0
if (tDecodeIsEnd(&decoder)) {
tDecoderClear(&decoder);
- return TSDB_CODE_VERSION_NOT_COMPATIBLE;
+ TAOS_CHECK_EXIT(TSDB_CODE_VERSION_NOT_COMPATIBLE);
}
- if (tDecodeCStrTo(&decoder, pReq->sVer) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->sVer));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp *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 (tEncodeI32(&encoder, pRsp->acctId) < 0) return -1;
- if (tEncodeI64(&encoder, pRsp->clusterId) < 0) return -1;
- if (tEncodeU32(&encoder, pRsp->connId) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->dnodeNum) < 0) return -1;
- if (tEncodeI8(&encoder, pRsp->superUser) < 0) return -1;
- if (tEncodeI8(&encoder, pRsp->sysInfo) < 0) return -1;
- if (tEncodeI8(&encoder, pRsp->connType) < 0) return -1;
- if (tEncodeSEpSet(&encoder, &pRsp->epSet) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->svrTimestamp) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->sVer) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->sDetailVer) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->passVer) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->authVer) < 0) return -1;
- if (tEncodeI64(&encoder, pRsp->whiteListVer) < 0) return -1;
- if (tSerializeSMonitorParas(&encoder, &pRsp->monitorParas) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->acctId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pRsp->clusterId));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pRsp->connId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->dnodeNum));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pRsp->superUser));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pRsp->sysInfo));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pRsp->connType));
+ TAOS_CHECK_EXIT(tEncodeSEpSet(&encoder, &pRsp->epSet));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->svrTimestamp));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->sVer));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->sDetailVer));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->passVer));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->authVer));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pRsp->whiteListVer));
+ TAOS_CHECK_EXIT(tSerializeSMonitorParas(&encoder, &pRsp->monitorParas));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- int32_t ret = -1;
- if (tStartDecode(&decoder) < 0) goto _END;
- if (tDecodeI32(&decoder, &pRsp->acctId) < 0) goto _END;
- if (tDecodeI64(&decoder, &pRsp->clusterId) < 0) goto _END;
- if (tDecodeU32(&decoder, &pRsp->connId) < 0) goto _END;
- if (tDecodeI32(&decoder, &pRsp->dnodeNum) < 0) goto _END;
- if (tDecodeI8(&decoder, &pRsp->superUser) < 0) goto _END;
- if (tDecodeI8(&decoder, &pRsp->sysInfo) < 0) goto _END;
- if (tDecodeI8(&decoder, &pRsp->connType) < 0) goto _END;
- if (tDecodeSEpSet(&decoder, &pRsp->epSet) < 0) goto _END;
- if (tDecodeI32(&decoder, &pRsp->svrTimestamp) < 0) goto _END;
- if (tDecodeCStrTo(&decoder, pRsp->sVer) < 0) goto _END;
- if (tDecodeCStrTo(&decoder, pRsp->sDetailVer) < 0) goto _END;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->acctId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pRsp->clusterId));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pRsp->connId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->dnodeNum));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pRsp->superUser));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pRsp->sysInfo));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pRsp->connType));
+ TAOS_CHECK_EXIT(tDecodeSEpSet(&decoder, &pRsp->epSet));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->svrTimestamp));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->sVer));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->sDetailVer));
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pRsp->passVer) < 0) goto _END;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->passVer));
} else {
pRsp->passVer = 0;
}
// since 3.0.7.0
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pRsp->authVer) < 0) goto _END;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->authVer));
} else {
pRsp->authVer = 0;
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI64(&decoder, &pRsp->whiteListVer) < 0) goto _END;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pRsp->whiteListVer));
} else {
pRsp->whiteListVer = 0;
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDeserializeSMonitorParas(&decoder, &pRsp->monitorParas) < 0) goto _END;
+ TAOS_CHECK_EXIT(tDeserializeSMonitorParas(&decoder, &pRsp->monitorParas));
}
tEndDecode(&decoder);
- ret = 0;
-_END:
+_exit:
tDecoderClear(&decoder);
- return ret;
+ return code;
}
int32_t tSerializeSMTimerMsg(void *buf, int32_t bufLen, SMTimerReq *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 (tEncodeI32(&encoder, pReq->reserved) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->reserved));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
-// int32_t tDeserializeSMTimerMsg(void *buf, int32_t bufLen, SMTimerReq *pReq) {
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &pReq->reserved) < 0) return -1;
-// tEndDecode(&decoder);
-
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
int32_t tSerializeDropOrphanTaskMsg(void *buf, int32_t bufLen, SMStreamDropOrphanMsg *pMsg) {
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 = taosArrayGetSize(pMsg->pList);
- if (tEncodeI32(&encoder, size) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, size));
for (int32_t i = 0; i < size; i++) {
SOrphanTask *pTask = taosArrayGet(pMsg->pList, i);
- if (tEncodeI64(&encoder, pTask->streamId) < 0) return -1;
- if (tEncodeI32(&encoder, pTask->taskId) < 0) return -1;
- if (tEncodeI32(&encoder, pTask->nodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pTask->streamId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pTask->taskId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pTask->nodeId));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeDropOrphanTaskMsg(void *buf, int32_t bufLen, SMStreamDropOrphanMsg *pMsg) {
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 num = 0;
- if (tDecodeI32(&decoder, &num) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &num));
if (num > 0) {
pMsg->pList = taosArrayInit(num, sizeof(SOrphanTask));
- if (NULL == pMsg->pList) return -1;
+ if (NULL == pMsg->pList) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < num; ++i) {
SOrphanTask info = {0};
- if (tDecodeI64(&decoder, &info.streamId) < 0) return -1;
- if (tDecodeI32(&decoder, &info.taskId) < 0) return -1;
- if (tDecodeI32(&decoder, &info.nodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &info.streamId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &info.taskId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &info.nodeId));
if (taosArrayPush(pMsg->pList, &info) == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tDestroyDropOrphanTaskMsg(SMStreamDropOrphanMsg *pMsg) {
@@ -6084,196 +6175,209 @@ void tDestroyDropOrphanTaskMsg(SMStreamDropOrphanMsg *pMsg) {
}
int32_t tEncodeSReplica(SEncoder *pEncoder, SReplica *pReplica) {
- if (tEncodeI32(pEncoder, pReplica->id) < 0) return -1;
- if (tEncodeU16(pEncoder, pReplica->port) < 0) return -1;
- if (tEncodeCStr(pEncoder, pReplica->fqdn) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pReplica->id));
+ TAOS_CHECK_RETURN(tEncodeU16(pEncoder, pReplica->port));
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pReplica->fqdn));
return 0;
}
int32_t tDecodeSReplica(SDecoder *pDecoder, SReplica *pReplica) {
- if (tDecodeI32(pDecoder, &pReplica->id) < 0) return -1;
- if (tDecodeU16(pDecoder, &pReplica->port) < 0) return -1;
- if (tDecodeCStrTo(pDecoder, pReplica->fqdn) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pReplica->id));
+ TAOS_CHECK_RETURN(tDecodeU16(pDecoder, &pReplica->port));
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pReplica->fqdn));
return 0;
}
int32_t tSerializeSCreateVnodeReq(void *buf, int32_t bufLen, SCreateVnodeReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->dbUid) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->vgVersion) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->numOfStables) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->buffer) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->pageSize) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->pages) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->cacheLastSize) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->daysPerFile) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->daysToKeep0) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->daysToKeep1) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->daysToKeep2) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->minRows) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->maxRows) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->walFsyncPeriod) < 0) return -1;
- if (tEncodeU32(&encoder, pReq->hashBegin) < 0) return -1;
- if (tEncodeU32(&encoder, pReq->hashEnd) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->hashMethod) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->walLevel) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->precision) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->compression) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->strict) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->cacheLast) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->replica) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->selfIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->dbUid));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgVersion));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->numOfStables));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->buffer));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->pageSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->pages));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->cacheLastSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysPerFile));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysToKeep0));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysToKeep1));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysToKeep2));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->minRows));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->maxRows));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->walFsyncPeriod));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pReq->hashBegin));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pReq->hashEnd));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->hashMethod));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->walLevel));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->precision));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->compression));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->strict));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->cacheLast));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->replica));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->selfIndex));
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
SReplica *pReplica = &pReq->replicas[i];
- if (tEncodeSReplica(&encoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSReplica(&encoder, pReplica));
}
- if (tEncodeI32(&encoder, pReq->numOfRetensions) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->numOfRetensions));
for (int32_t i = 0; i < pReq->numOfRetensions; ++i) {
SRetention *pRetension = taosArrayGet(pReq->pRetensions, i);
- if (tEncodeI64(&encoder, pRetension->freq) < 0) return -1;
- if (tEncodeI64(&encoder, pRetension->keep) < 0) return -1;
- if (tEncodeI8(&encoder, pRetension->freqUnit) < 0) return -1;
- if (tEncodeI8(&encoder, pRetension->keepUnit) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pRetension->freq));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pRetension->keep));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pRetension->freqUnit));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pRetension->keepUnit));
}
- if (tEncodeI8(&encoder, pReq->isTsma) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->isTsma));
if (pReq->isTsma) {
uint32_t tsmaLen = (uint32_t)(htonl(((SMsgHead *)pReq->pTsma)->contLen));
- if (tEncodeBinary(&encoder, (const uint8_t *)pReq->pTsma, tsmaLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->pTsma, tsmaLen));
}
- if (tEncodeI32(&encoder, pReq->walRetentionPeriod) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->walRetentionSize) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->walRollPeriod) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->walSegmentSize) < 0) return -1;
- if (tEncodeI16(&encoder, pReq->sstTrigger) < 0) return -1;
- if (tEncodeI16(&encoder, pReq->hashPrefix) < 0) return -1;
- if (tEncodeI16(&encoder, pReq->hashSuffix) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->tsdbPageSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->walRetentionPeriod));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->walRetentionSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->walRollPeriod));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->walSegmentSize));
+ TAOS_CHECK_EXIT(tEncodeI16(&encoder, pReq->sstTrigger));
+ TAOS_CHECK_EXIT(tEncodeI16(&encoder, pReq->hashPrefix));
+ TAOS_CHECK_EXIT(tEncodeI16(&encoder, pReq->hashSuffix));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->tsdbPageSize));
for (int32_t i = 0; i < 6; ++i) {
- if (tEncodeI64(&encoder, pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->reserved[i]));
}
- if (tEncodeI8(&encoder, pReq->learnerReplica) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->learnerSelfIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->learnerReplica));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->learnerSelfIndex));
for (int32_t i = 0; i < TSDB_MAX_LEARNER_REPLICA; ++i) {
SReplica *pReplica = &pReq->learnerReplicas[i];
- if (tEncodeSReplica(&encoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSReplica(&encoder, pReplica));
}
- if (tEncodeI32(&encoder, pReq->changeVersion) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->keepTimeOffset) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->encryptAlgorithm) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->s3ChunkSize) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->s3KeepLocal) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->s3Compact) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->changeVersion));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->keepTimeOffset));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->encryptAlgorithm));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->s3ChunkSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->s3KeepLocal));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->s3Compact));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSCreateVnodeReq(void *buf, int32_t bufLen, SCreateVnodeReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
+
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->dbUid) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgVersion) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->numOfStables) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->buffer) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->pageSize) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->pages) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->cacheLastSize) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->daysPerFile) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->daysToKeep0) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->daysToKeep1) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->daysToKeep2) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->minRows) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->maxRows) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->walFsyncPeriod) < 0) return -1;
- if (tDecodeU32(&decoder, &pReq->hashBegin) < 0) return -1;
- if (tDecodeU32(&decoder, &pReq->hashEnd) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->hashMethod) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->walLevel) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->precision) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->compression) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->strict) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->cacheLast) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->replica) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->selfIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->db));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->dbUid));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgVersion));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->numOfStables));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->buffer));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->pageSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->pages));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->cacheLastSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysPerFile));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysToKeep0));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysToKeep1));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysToKeep2));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->minRows));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->maxRows));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->walFsyncPeriod));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pReq->hashBegin));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pReq->hashEnd));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->hashMethod));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->walLevel));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->precision));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->compression));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->strict));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->cacheLast));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->replica));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->selfIndex));
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
SReplica *pReplica = &pReq->replicas[i];
- if (tDecodeSReplica(&decoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSReplica(&decoder, pReplica));
}
- if (tDecodeI32(&decoder, &pReq->numOfRetensions) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->numOfRetensions));
pReq->pRetensions = taosArrayInit(pReq->numOfRetensions, sizeof(SRetention));
if (pReq->pRetensions == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < pReq->numOfRetensions; ++i) {
SRetention rentension = {0};
- if (tDecodeI64(&decoder, &rentension.freq) < 0) return -1;
- if (tDecodeI64(&decoder, &rentension.keep) < 0) return -1;
- if (tDecodeI8(&decoder, &rentension.freqUnit) < 0) return -1;
- if (tDecodeI8(&decoder, &rentension.keepUnit) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &rentension.freq));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &rentension.keep));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &rentension.freqUnit));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &rentension.keepUnit));
if (taosArrayPush(pReq->pRetensions, &rentension) == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
- if (tDecodeI8(&decoder, &pReq->isTsma) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->isTsma));
if (pReq->isTsma) {
- if (tDecodeBinary(&decoder, (uint8_t **)&pReq->pTsma, NULL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeBinary(&decoder, (uint8_t **)&pReq->pTsma, NULL));
}
- if (tDecodeI32(&decoder, &pReq->walRetentionPeriod) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->walRetentionSize) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->walRollPeriod) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->walSegmentSize) < 0) return -1;
- if (tDecodeI16(&decoder, &pReq->sstTrigger) < 0) return -1;
- if (tDecodeI16(&decoder, &pReq->hashPrefix) < 0) return -1;
- if (tDecodeI16(&decoder, &pReq->hashSuffix) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->tsdbPageSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->walRetentionPeriod));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->walRetentionSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->walRollPeriod));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->walSegmentSize));
+ TAOS_CHECK_EXIT(tDecodeI16(&decoder, &pReq->sstTrigger));
+ TAOS_CHECK_EXIT(tDecodeI16(&decoder, &pReq->hashPrefix));
+ TAOS_CHECK_EXIT(tDecodeI16(&decoder, &pReq->hashSuffix));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->tsdbPageSize));
for (int32_t i = 0; i < 6; ++i) {
- if (tDecodeI64(&decoder, &pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->reserved[i]));
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->learnerReplica) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->learnerSelfIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->learnerReplica));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->learnerSelfIndex));
for (int32_t i = 0; i < TSDB_MAX_LEARNER_REPLICA; ++i) {
SReplica *pReplica = &pReq->learnerReplicas[i];
- if (tDecodeSReplica(&decoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSReplica(&decoder, pReplica));
}
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pReq->changeVersion) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->changeVersion));
}
pReq->keepTimeOffset = TSDB_DEFAULT_KEEP_TIME_OFFSET;
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pReq->keepTimeOffset) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->keepTimeOffset));
}
pReq->encryptAlgorithm = TSDB_DEFAULT_ENCRYPT_ALGO;
pReq->s3ChunkSize = TSDB_DEFAULT_S3_CHUNK_SIZE;
pReq->s3KeepLocal = TSDB_DEFAULT_S3_KEEP_LOCAL;
pReq->s3Compact = TSDB_DEFAULT_S3_COMPACT;
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->encryptAlgorithm) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->s3ChunkSize) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->s3KeepLocal) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->s3Compact) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->encryptAlgorithm));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->s3ChunkSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->s3KeepLocal));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->s3Compact));
}
tEndDecode(&decoder);
+
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tFreeSCreateVnodeReq(SCreateVnodeReq *pReq) {
@@ -6284,241 +6388,281 @@ int32_t tFreeSCreateVnodeReq(SCreateVnodeReq *pReq) {
int32_t tSerializeSQueryCompactProgressReq(void *buf, int32_t bufLen, SQueryCompactProgressReq *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 (tEncodeI32(&encoder, pReq->compactId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->compactId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSQueryCompactProgressReq(void *buf, int32_t bufLen, SQueryCompactProgressReq *pReq) {
- int32_t headLen = sizeof(SMsgHead);
-
+ int32_t headLen = sizeof(SMsgHead);
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, ((uint8_t *)buf) + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
-
- if (tDecodeI32(&decoder, &pReq->compactId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dnodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->compactId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSQueryCompactProgressRsp(void *buf, int32_t bufLen, SQueryCompactProgressRsp *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 (tEncodeI32(&encoder, pReq->compactId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->numberFileset) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->finished) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->compactId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->numberFileset));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->finished));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSQueryCompactProgressRsp(void *buf, int32_t bufLen, SQueryCompactProgressRsp *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
-
- if (tDecodeI32(&decoder, &pReq->compactId) < 0) return -2;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -3;
- if (tDecodeI32(&decoder, &pReq->dnodeId) < 0) return -4;
- if (tDecodeI32(&decoder, &pReq->numberFileset) < 0) return -5;
- if (tDecodeI32(&decoder, &pReq->finished) < 0) return -6;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->compactId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->numberFileset));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->finished));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSDropVnodeReq(void *buf, int32_t bufLen, SDropVnodeReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->dbUid) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->dbUid));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
for (int32_t i = 0; i < 8; ++i) {
- if (tEncodeI64(&encoder, pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->reserved[i]));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSDropVnodeReq(void *buf, int32_t bufLen, SDropVnodeReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dnodeId) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->dbUid) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->dbUid));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->db));
for (int32_t i = 0; i < 8; ++i) {
- if (tDecodeI64(&decoder, &pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->reserved[i]));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSDropIdxReq(void *buf, int32_t bufLen, SDropIndexReq *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->colName) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->stb) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->stbUid) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->dbUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->colName));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->stb));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->stbUid));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->dbUid));
for (int32_t i = 0; i < 8; ++i) {
- if (tEncodeI64(&encoder, pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->reserved[i]));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
- // TODO
- return 0;
}
+
int32_t tDeserializeSDropIdxReq(void *buf, int32_t bufLen, SDropIndexReq *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->colName) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->stb) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->stbUid) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->dbUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->colName));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->stb));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->stbUid));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->dbUid));
for (int32_t i = 0; i < 8; ++i) {
- if (tDecodeI64(&decoder, &pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->reserved[i]));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- // TODO
- return 0;
+ return code;
}
int32_t tSerializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq *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 (tEncodeI64(&encoder, pReq->dbUid) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->compactStartTime) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->dbUid));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->compactStartTime));
// 1.1 add tw.skey and tw.ekey
- if (tEncodeI64(&encoder, pReq->tw.skey) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->tw.ekey) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->tw.skey));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->tw.ekey));
- if (tEncodeI32(&encoder, pReq->compactId) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->compactId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
-
- if (tDecodeI64(&decoder, &pReq->dbUid) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->compactStartTime) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->dbUid));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->db));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->compactStartTime));
// 1.1
if (tDecodeIsEnd(&decoder)) {
pReq->tw.skey = TSKEY_MIN;
pReq->tw.ekey = TSKEY_MAX;
} else {
- if (tDecodeI64(&decoder, &pReq->tw.skey) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->tw.ekey) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->tw.skey));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->tw.ekey));
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pReq->compactId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->compactId));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSVKillCompactReq(void *buf, int32_t bufLen, SVKillCompactReq *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 (tEncodeI32(&encoder, pReq->compactId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->compactId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVKillCompactReq(void *buf, int32_t bufLen, SVKillCompactReq *pReq) {
int32_t code = 0;
+ int32_t lino;
SDecoder decoder = {0};
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) {
- code = TSDB_CODE_MSG_DECODE_ERROR;
- goto _exit;
- }
-
- if (tDecodeI32(&decoder, &pReq->compactId) < 0) {
- code = TSDB_CODE_MSG_DECODE_ERROR;
- goto _exit;
- }
-
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) {
- code = TSDB_CODE_MSG_DECODE_ERROR;
- goto _exit;
- }
-
- if (tDecodeI32(&decoder, &pReq->dnodeId) < 0) {
- code = TSDB_CODE_MSG_DECODE_ERROR;
- goto _exit;
- }
-
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->compactId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId));
tEndDecode(&decoder);
_exit:
@@ -6527,46 +6671,47 @@ _exit:
}
int32_t tSerializeSAlterVnodeConfigReq(void *buf, int32_t bufLen, SAlterVnodeConfigReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
int32_t tlen;
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- TAOS_CHECK_ERRNO(tStartEncode(&encoder));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->vgVersion));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->buffer));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->pageSize));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->pages));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->cacheLastSize));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->daysPerFile));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->daysToKeep0));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->daysToKeep1));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->daysToKeep2));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->walFsyncPeriod));
- TAOS_CHECK_ERRNO(tEncodeI8(&encoder, pReq->walLevel));
- TAOS_CHECK_ERRNO(tEncodeI8(&encoder, pReq->strict));
- TAOS_CHECK_ERRNO(tEncodeI8(&encoder, pReq->cacheLast));
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgVersion));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->buffer));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->pageSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->pages));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->cacheLastSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysPerFile));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysToKeep0));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysToKeep1));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->daysToKeep2));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->walFsyncPeriod));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->walLevel));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->strict));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->cacheLast));
for (int32_t i = 0; i < 7; ++i) {
- TAOS_CHECK_ERRNO(tEncodeI64(&encoder, pReq->reserved[i]));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->reserved[i]));
}
// 1st modification
- TAOS_CHECK_ERRNO(tEncodeI16(&encoder, pReq->sttTrigger));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->minRows));
+ TAOS_CHECK_EXIT(tEncodeI16(&encoder, pReq->sttTrigger));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->minRows));
// 2nd modification
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->walRetentionPeriod));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->walRetentionSize));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->keepTimeOffset));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->walRetentionPeriod));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->walRetentionSize));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->keepTimeOffset));
- TAOS_CHECK_ERRNO(tEncodeI32(&encoder, pReq->s3KeepLocal));
- TAOS_CHECK_ERRNO(tEncodeI8(&encoder, pReq->s3Compact));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->s3KeepLocal));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->s3Compact));
tEndEncode(&encoder);
_exit:
- if (terrno) {
- uError("%s failed at line %d since %s", __func__, terrln, terrstr());
- tlen = -1;
+ if (code) {
+ tlen = code;
} else {
tlen = encoder.pos;
}
@@ -6576,25 +6721,26 @@ _exit:
int32_t tDeserializeSAlterVnodeConfigReq(void *buf, int32_t bufLen, SAlterVnodeConfigReq *pReq) {
SDecoder decoder = {0};
-
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- TAOS_CHECK_ERRNO(tStartDecode(&decoder));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->vgVersion));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->buffer));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->pageSize));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->pages));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->cacheLastSize));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->daysPerFile));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->daysToKeep0));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->daysToKeep1));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->daysToKeep2));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->walFsyncPeriod));
- TAOS_CHECK_ERRNO(tDecodeI8(&decoder, &pReq->walLevel));
- TAOS_CHECK_ERRNO(tDecodeI8(&decoder, &pReq->strict));
- TAOS_CHECK_ERRNO(tDecodeI8(&decoder, &pReq->cacheLast));
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgVersion));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->buffer));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->pageSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->pages));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->cacheLastSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysPerFile));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysToKeep0));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysToKeep1));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->daysToKeep2));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->walFsyncPeriod));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->walLevel));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->strict));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->cacheLast));
for (int32_t i = 0; i < 7; ++i) {
- TAOS_CHECK_ERRNO(tDecodeI64(&decoder, &pReq->reserved[i]));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->reserved[i]));
}
// 1st modification
@@ -6602,8 +6748,8 @@ int32_t tDeserializeSAlterVnodeConfigReq(void *buf, int32_t bufLen, SAlterVnodeC
pReq->sttTrigger = -1;
pReq->minRows = -1;
} else {
- TAOS_CHECK_ERRNO(tDecodeI16(&decoder, &pReq->sttTrigger));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->minRows));
+ TAOS_CHECK_EXIT(tDecodeI16(&decoder, &pReq->sttTrigger));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->minRows));
}
// 2n modification
@@ -6611,508 +6757,650 @@ int32_t tDeserializeSAlterVnodeConfigReq(void *buf, int32_t bufLen, SAlterVnodeC
pReq->walRetentionPeriod = -1;
pReq->walRetentionSize = -1;
} else {
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->walRetentionPeriod));
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->walRetentionSize));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->walRetentionPeriod));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->walRetentionSize));
}
pReq->keepTimeOffset = TSDB_DEFAULT_KEEP_TIME_OFFSET;
if (!tDecodeIsEnd(&decoder)) {
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->keepTimeOffset));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->keepTimeOffset));
}
pReq->s3KeepLocal = TSDB_DEFAULT_S3_KEEP_LOCAL;
pReq->s3Compact = TSDB_DEFAULT_S3_COMPACT;
if (!tDecodeIsEnd(&decoder)) {
- TAOS_CHECK_ERRNO(tDecodeI32(&decoder, &pReq->s3KeepLocal) < 0);
- TAOS_CHECK_ERRNO(tDecodeI8(&decoder, &pReq->s3Compact) < 0);
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->s3KeepLocal) < 0);
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->s3Compact) < 0);
}
tEndDecode(&decoder);
_exit:
tDecoderClear(&decoder);
- if (terrno) {
- uError("%s failed at line %d since %s", __func__, terrln, terrstr());
- }
- return terrno;
+ return code;
}
int32_t tSerializeSAlterVnodeReplicaReq(void *buf, int32_t bufLen, SAlterVnodeReplicaReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->strict) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->selfIndex) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->replica) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->strict));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->selfIndex));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->replica));
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
SReplica *pReplica = &pReq->replicas[i];
- if (tEncodeSReplica(&encoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSReplica(&encoder, pReplica));
}
for (int32_t i = 0; i < 8; ++i) {
- if (tEncodeI64(&encoder, pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->reserved[i]));
}
- if (tEncodeI8(&encoder, pReq->learnerSelfIndex) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->learnerReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->learnerSelfIndex));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->learnerReplica));
for (int32_t i = 0; i < TSDB_MAX_LEARNER_REPLICA; ++i) {
SReplica *pReplica = &pReq->learnerReplicas[i];
- if (tEncodeSReplica(&encoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSReplica(&encoder, pReplica));
}
- if (tEncodeI32(&encoder, pReq->changeVersion) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->changeVersion));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSAlterVnodeReplicaReq(void *buf, int32_t bufLen, SAlterVnodeReplicaReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->strict) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->selfIndex) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->replica) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->strict));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->selfIndex));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->replica));
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
SReplica *pReplica = &pReq->replicas[i];
- if (tDecodeSReplica(&decoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSReplica(&decoder, pReplica));
}
for (int32_t i = 0; i < 8; ++i) {
- if (tDecodeI64(&decoder, &pReq->reserved[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->reserved[i]));
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->learnerSelfIndex) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->learnerReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->learnerSelfIndex));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->learnerReplica));
for (int32_t i = 0; i < TSDB_MAX_LEARNER_REPLICA; ++i) {
SReplica *pReplica = &pReq->learnerReplicas[i];
- if (tDecodeSReplica(&decoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSReplica(&decoder, pReplica));
}
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pReq->changeVersion) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->changeVersion));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSDisableVnodeWriteReq(void *buf, int32_t bufLen, SDisableVnodeWriteReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->disable) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->disable));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSDisableVnodeWriteReq(void *buf, int32_t bufLen, SDisableVnodeWriteReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->disable) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->disable));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSAlterVnodeHashRangeReq(void *buf, int32_t bufLen, SAlterVnodeHashRangeReq *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 (tEncodeI32(&encoder, pReq->srcVgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dstVgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->hashBegin) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->hashEnd) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->changeVersion) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->reserved) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->srcVgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dstVgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->hashBegin));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->hashEnd));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->changeVersion));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->reserved));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSAlterVnodeHashRangeReq(void *buf, int32_t bufLen, SAlterVnodeHashRangeReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->srcVgId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dstVgId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->hashBegin) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->hashEnd) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->changeVersion) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->reserved) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->srcVgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dstVgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->hashBegin));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->hashEnd));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->changeVersion));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->reserved));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSKillQueryReq(void *buf, int32_t bufLen, SKillQueryReq *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->queryStrId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->queryStrId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSKillQueryReq(void *buf, int32_t bufLen, SKillQueryReq *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->queryStrId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->queryStrId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSKillConnReq(void *buf, int32_t bufLen, SKillConnReq *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 (tEncodeU32(&encoder, pReq->connId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pReq->connId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSKillConnReq(void *buf, int32_t bufLen, SKillConnReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeU32(&decoder, &pReq->connId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pReq->connId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSKillTransReq(void *buf, int32_t bufLen, SKillTransReq *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 (tEncodeI32(&encoder, pReq->transId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->transId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSKillTransReq(void *buf, int32_t bufLen, SKillTransReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->transId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->transId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSBalanceVgroupReq(void *buf, int32_t bufLen, SBalanceVgroupReq *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 (tEncodeI32(&encoder, pReq->useless) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->useless));
ENCODESQL();
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSBalanceVgroupReq(void *buf, int32_t bufLen, SBalanceVgroupReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->useless) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->useless));
DECODESQL();
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSBalanceVgroupReq(SBalanceVgroupReq *pReq) { FREESQL(); }
int32_t tSerializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen, SBalanceVgroupLeaderReq *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 (tEncodeI32(&encoder, pReq->reserved) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->reserved));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
ENCODESQL();
- if (tEncodeCStr(&encoder, pReq->db) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->db));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen, SBalanceVgroupLeaderReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->reserved) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->reserved));
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
}
DECODESQL();
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->db));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSBalanceVgroupLeaderReq(SBalanceVgroupLeaderReq *pReq) { FREESQL(); }
int32_t tSerializeSMergeVgroupReq(void *buf, int32_t bufLen, SMergeVgroupReq *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 (tEncodeI32(&encoder, pReq->vgId1) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->vgId2) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId1));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId2));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSMergeVgroupReq(void *buf, int32_t bufLen, SMergeVgroupReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId1) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId2) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId1));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId2));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSRedistributeVgroupReq(void *buf, int32_t bufLen, SRedistributeVgroupReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId1) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId2) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->dnodeId3) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId1));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId2));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId3));
ENCODESQL();
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSRedistributeVgroupReq(void *buf, int32_t bufLen, SRedistributeVgroupReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dnodeId1) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dnodeId2) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dnodeId3) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId1));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId2));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId3));
DECODESQL();
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSRedistributeVgroupReq(SRedistributeVgroupReq *pReq) { FREESQL(); }
int32_t tSerializeSSplitVgroupReq(void *buf, int32_t bufLen, SSplitVgroupReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSSplitVgroupReq(void *buf, int32_t bufLen, SSplitVgroupReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->vgId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSForceBecomeFollowerReq(void *buf, int32_t bufLen, SForceBecomeFollowerReq *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 (tEncodeI32(&encoder, pReq->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->vgId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
-// int32_t tDeserializeSForceBecomeFollowerReq(void *buf, int32_t bufLen, SForceBecomeFollowerReq *pReq) {
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1;
-// tEndDecode(&decoder);
-
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
int32_t tSerializeSDCreateMnodeReq(void *buf, int32_t bufLen, SDCreateMnodeReq *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 (tEncodeI8(&encoder, pReq->replica) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->replica));
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
SReplica *pReplica = &pReq->replicas[i];
- if (tEncodeSReplica(&encoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSReplica(&encoder, pReplica));
}
- if (tEncodeI8(&encoder, pReq->learnerReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->learnerReplica));
for (int32_t i = 0; i < TSDB_MAX_LEARNER_REPLICA; ++i) {
SReplica *pReplica = &pReq->learnerReplicas[i];
- if (tEncodeSReplica(&encoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSReplica(&encoder, pReplica));
}
- if (tEncodeI64(&encoder, pReq->lastIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->lastIndex));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSDCreateMnodeReq(void *buf, int32_t bufLen, SDCreateMnodeReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->replica) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->replica));
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
SReplica *pReplica = &pReq->replicas[i];
- if (tDecodeSReplica(&decoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSReplica(&decoder, pReplica));
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->learnerReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->learnerReplica));
for (int32_t i = 0; i < TSDB_MAX_LEARNER_REPLICA; ++i) {
SReplica *pReplica = &pReq->learnerReplicas[i];
- if (tDecodeSReplica(&decoder, pReplica) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSReplica(&decoder, pReplica));
}
- if (tDecodeI64(&decoder, &pReq->lastIndex) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->lastIndex));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSVArbHeartBeatReq(void *buf, int32_t bufLen, SVArbHeartBeatReq *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 (tEncodeI32(&encoder, pReq->dnodeId) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->arbToken) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->arbTerm) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->arbToken));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->arbTerm));
int32_t size = taosArrayGetSize(pReq->hbMembers);
- if (tEncodeI32(&encoder, size) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, size));
for (int32_t i = 0; i < size; i++) {
SVArbHbReqMember *pMember = taosArrayGet(pReq->hbMembers, i);
- if (tEncodeI32(&encoder, pMember->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pMember->hbSeq) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMember->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMember->hbSeq));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVArbHeartBeatReq(void *buf, int32_t bufLen, SVArbHeartBeatReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->dnodeId) < 0) return -1;
- if ((pReq->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->arbToken) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->arbTerm) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId));
+ if ((pReq->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->arbToken));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->arbTerm));
- if ((pReq->hbMembers = taosArrayInit(16, sizeof(SVArbHbReqMember))) == NULL) return -1;
+ if ((pReq->hbMembers = taosArrayInit(16, sizeof(SVArbHbReqMember))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
int32_t size = 0;
- if (tDecodeI32(&decoder, &size) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &size));
for (int32_t i = 0; i < size; i++) {
SVArbHbReqMember member = {0};
- if (tDecodeI32(&decoder, &member.vgId) < 0) return -1;
- if (tDecodeI32(&decoder, &member.hbSeq) < 0) return -1;
- if (taosArrayPush(pReq->hbMembers, &member) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &member.vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &member.hbSeq));
+ if (taosArrayPush(pReq->hbMembers, &member) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSVArbHeartBeatReq(SVArbHeartBeatReq *pReq) {
@@ -7123,47 +7411,62 @@ void tFreeSVArbHeartBeatReq(SVArbHeartBeatReq *pReq) {
int32_t tSerializeSVArbHeartBeatRsp(void *buf, int32_t bufLen, SVArbHeartBeatRsp *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 (tEncodeCStr(&encoder, pRsp->arbToken) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->dnodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->arbToken));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->dnodeId));
int32_t sz = taosArrayGetSize(pRsp->hbMembers);
- if (tEncodeI32(&encoder, sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, sz));
for (int32_t i = 0; i < sz; i++) {
SVArbHbRspMember *pMember = taosArrayGet(pRsp->hbMembers, i);
- if (tEncodeI32(&encoder, pMember->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pMember->hbSeq) < 0) return -1;
- if (tEncodeCStr(&encoder, pMember->memberToken) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMember->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMember->hbSeq));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pMember->memberToken));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVArbHeartBeatRsp(void *buf, int32_t bufLen, SVArbHeartBeatRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->arbToken) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->dnodeId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->arbToken));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->dnodeId));
int32_t sz = 0;
- if (tDecodeI32(&decoder, &sz) < 0) return -1;
- if ((pRsp->hbMembers = taosArrayInit(sz, sizeof(SVArbHbRspMember))) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &sz));
+ if ((pRsp->hbMembers = taosArrayInit(sz, sizeof(SVArbHbRspMember))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < sz; i++) {
SVArbHbRspMember hbMember = {0};
- if (tDecodeI32(&decoder, &hbMember.vgId) < 0) return -1;
- if (tDecodeI32(&decoder, &hbMember.hbSeq) < 0) return -1;
- if (tDecodeCStrTo(&decoder, hbMember.memberToken) < 0) return -1;
- if (taosArrayPush(pRsp->hbMembers, &hbMember) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &hbMember.vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &hbMember.hbSeq));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, hbMember.memberToken));
+ if (taosArrayPush(pRsp->hbMembers, &hbMember) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSVArbHeartBeatRsp(SVArbHeartBeatRsp *pRsp) {
@@ -7175,38 +7478,55 @@ void tFreeSVArbHeartBeatRsp(SVArbHeartBeatRsp *pRsp) {
int32_t tSerializeSVArbCheckSyncReq(void *buf, int32_t bufLen, SVArbCheckSyncReq *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->arbToken) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->arbTerm) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->member0Token) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->member1Token) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->arbToken));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->arbTerm));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->member0Token));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->member1Token));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVArbCheckSyncReq(void *buf, int32_t bufLen, SVArbCheckSyncReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if ((pReq->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->arbToken) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->arbTerm) < 0) return -1;
- if ((pReq->member0Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->member0Token) < 0) return -1;
- if ((pReq->member1Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->member1Token) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ if ((pReq->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->arbToken));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->arbTerm));
+ if ((pReq->member0Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->member0Token));
+ if ((pReq->member1Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->member1Token));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSVArbCheckSyncReq(SVArbCheckSyncReq *pRsp) {
@@ -7220,40 +7540,57 @@ void tFreeSVArbCheckSyncReq(SVArbCheckSyncReq *pRsp) {
int32_t tSerializeSVArbCheckSyncRsp(void *buf, int32_t bufLen, SVArbCheckSyncRsp *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 (tEncodeCStr(&encoder, pRsp->arbToken) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->member0Token) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->member1Token) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->vgId) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->errCode) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->arbToken));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->member0Token));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->member1Token));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->vgId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->errCode));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVArbCheckSyncRsp(void *buf, int32_t bufLen, SVArbCheckSyncRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if ((pRsp->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->arbToken) < 0) return -1;
- if ((pRsp->member0Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->member0Token) < 0) return -1;
- if ((pRsp->member1Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->member1Token) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->vgId) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->errCode) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ if ((pRsp->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->arbToken));
+ if ((pRsp->member0Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->member0Token));
+ if ((pRsp->member1Token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->member1Token));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->vgId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->errCode));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSVArbCheckSyncRsp(SVArbCheckSyncRsp *pRsp) {
@@ -7267,35 +7604,50 @@ void tFreeSVArbCheckSyncRsp(SVArbCheckSyncRsp *pRsp) {
int32_t tSerializeSVArbSetAssignedLeaderReq(void *buf, int32_t bufLen, SVArbSetAssignedLeaderReq *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->arbToken) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->arbTerm) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->memberToken) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->arbToken));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->arbTerm));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->memberToken));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVArbSetAssignedLeaderReq(void *buf, int32_t bufLen, SVArbSetAssignedLeaderReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if ((pReq->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->arbToken) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->arbTerm) < 0) return -1;
- if ((pReq->memberToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->memberToken) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ if ((pReq->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->arbToken));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->arbTerm));
+ if ((pReq->memberToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->memberToken));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSVArbSetAssignedLeaderReq(SVArbSetAssignedLeaderReq *pReq) {
@@ -7308,35 +7660,50 @@ void tFreeSVArbSetAssignedLeaderReq(SVArbSetAssignedLeaderReq *pReq) {
int32_t tSerializeSVArbSetAssignedLeaderRsp(void *buf, int32_t bufLen, SVArbSetAssignedLeaderRsp *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 (tEncodeCStr(&encoder, pRsp->arbToken) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->memberToken) < 0) return -1;
- if (tEncodeI32(&encoder, pRsp->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->arbToken));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->memberToken));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->vgId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSVArbSetAssignedLeaderRsp(void *buf, int32_t bufLen, SVArbSetAssignedLeaderRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if ((pRsp->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->arbToken) < 0) return -1;
- if ((pRsp->memberToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->memberToken) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->vgId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ if ((pRsp->arbToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->arbToken));
+ if ((pRsp->memberToken = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->memberToken));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->vgId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSVArbSetAssignedLeaderRsp(SVArbSetAssignedLeaderRsp *pRsp) {
@@ -7349,73 +7716,89 @@ void tFreeSVArbSetAssignedLeaderRsp(SVArbSetAssignedLeaderRsp *pRsp) {
int32_t tSerializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpdateGroupBatchReq *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 sz = taosArrayGetSize(pReq->updateArray);
- if (tEncodeI32(&encoder, sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, sz));
for (int32_t i = 0; i < sz; i++) {
SMArbUpdateGroup *pGroup = taosArrayGet(pReq->updateArray, i);
- if (tEncodeI32(&encoder, pGroup->vgId) < 0) return -1;
- if (tEncodeI64(&encoder, pGroup->dbUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pGroup->vgId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pGroup->dbUid));
for (int i = 0; i < TSDB_ARB_GROUP_MEMBER_NUM; i++) {
- if (tEncodeI32(&encoder, pGroup->members[i].dnodeId) < 0) return -1;
- if (tEncodeCStr(&encoder, pGroup->members[i].token) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pGroup->members[i].dnodeId));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pGroup->members[i].token));
}
- if (tEncodeI8(&encoder, pGroup->isSync) < 0) return -1;
- if (tEncodeI32(&encoder, pGroup->assignedLeader.dnodeId) < 0) return -1;
- if (tEncodeCStr(&encoder, pGroup->assignedLeader.token) < 0) return -1;
- if (tEncodeI64(&encoder, pGroup->version) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pGroup->isSync));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pGroup->assignedLeader.dnodeId));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pGroup->assignedLeader.token));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pGroup->version));
}
for (int32_t i = 0; i < sz; i++) {
SMArbUpdateGroup *pGroup = taosArrayGet(pReq->updateArray, i);
- if (tEncodeI8(&encoder, pGroup->assignedLeader.acked) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pGroup->assignedLeader.acked));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpdateGroupBatchReq *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 sz = 0;
- if (tDecodeI32(&decoder, &sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &sz));
SArray *updateArray = taosArrayInit(sz, sizeof(SMArbUpdateGroup));
if (!updateArray) return -1;
for (int32_t i = 0; i < sz; i++) {
SMArbUpdateGroup group = {0};
- if (tDecodeI32(&decoder, &group.vgId) < 0) return -1;
- if (tDecodeI64(&decoder, &group.dbUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &group.vgId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.dbUid));
for (int i = 0; i < TSDB_ARB_GROUP_MEMBER_NUM; i++) {
- if (tDecodeI32(&decoder, &group.members[i].dnodeId) < 0) return -1;
- if ((group.members[i].token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, group.members[i].token) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &group.members[i].dnodeId));
+ if ((group.members[i].token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, group.members[i].token));
}
- if (tDecodeI8(&decoder, &group.isSync) < 0) return -1;
- if (tDecodeI32(&decoder, &group.assignedLeader.dnodeId) < 0) return -1;
- if ((group.assignedLeader.token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) return -1;
- if (tDecodeCStrTo(&decoder, group.assignedLeader.token) < 0) return -1;
- if (tDecodeI64(&decoder, &group.version) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &group.isSync));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &group.assignedLeader.dnodeId));
+ if ((group.assignedLeader.token = taosMemoryMalloc(TSDB_ARB_TOKEN_SIZE)) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, group.assignedLeader.token));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.version));
group.assignedLeader.acked = false;
- if (taosArrayPush(updateArray, &group) == NULL) return -1;
+ if (taosArrayPush(updateArray, &group) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
if (!tDecodeIsEnd(&decoder)) {
for (int32_t i = 0; i < sz; i++) {
SMArbUpdateGroup *pGroup = taosArrayGet(updateArray, i);
- if (tDecodeI8(&decoder, &pGroup->assignedLeader.acked) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pGroup->assignedLeader.acked));
}
}
@@ -7423,8 +7806,9 @@ int32_t tDeserializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpd
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSMArbUpdateGroupBatchReq(SMArbUpdateGroupBatchReq *pReq) {
@@ -7443,111 +7827,102 @@ void tFreeSMArbUpdateGroupBatchReq(SMArbUpdateGroupBatchReq *pReq) {
taosArrayDestroy(pReq->updateArray);
}
-// int32_t tSerializeSAuthReq(void *buf, int32_t bufLen, SAuthReq *pReq) {
-// SEncoder encoder = {0};
-// tEncoderInit(&encoder, buf, bufLen);
-
-// if (tStartEncode(&encoder) < 0) return -1;
-// if (tEncodeCStr(&encoder, pReq->user) < 0) return -1;
-// if (tEncodeI8(&encoder, pReq->spi) < 0) return -1;
-// if (tEncodeI8(&encoder, pReq->encrypt) < 0) return -1;
-// if (tEncodeBinary(&encoder, pReq->secret, TSDB_PASSWORD_LEN) < 0) return -1;
-// if (tEncodeBinary(&encoder, pReq->ckey, TSDB_PASSWORD_LEN) < 0) return -1;
-// tEndEncode(&encoder);
-
-// int32_t tlen = encoder.pos;
-// tEncoderClear(&encoder);
-// return tlen;
-// }
-
-// int32_t tDeserializeSAuthReq(void *buf, int32_t bufLen, SAuthReq *pReq) {
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeCStrTo(&decoder, pReq->user) < 0) return -1;
-// if (tDecodeI8(&decoder, &pReq->spi) < 0) return -1;
-// if (tDecodeI8(&decoder, &pReq->encrypt) < 0) return -1;
-// if (tDecodeCStrTo(&decoder, pReq->secret) < 0) return -1;
-// if (tDecodeCStrTo(&decoder, pReq->ckey) < 0) return -1;
-// tEndDecode(&decoder);
-
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
int32_t tSerializeSServerStatusRsp(void *buf, int32_t bufLen, SServerStatusRsp *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 (tEncodeI32(&encoder, pRsp->statusCode) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->details) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->statusCode));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->details));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSServerStatusRsp(void *buf, int32_t bufLen, SServerStatusRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->statusCode) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->details) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->statusCode));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->details));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSExplainRsp(void *buf, int32_t bufLen, SExplainRsp *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 (tEncodeI32(&encoder, pRsp->numOfPlans) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->numOfPlans));
for (int32_t i = 0; i < pRsp->numOfPlans; ++i) {
SExplainExecInfo *info = &pRsp->subplanInfo[i];
- if (tEncodeDouble(&encoder, info->startupCost) < 0) return -1;
- if (tEncodeDouble(&encoder, info->totalCost) < 0) return -1;
- if (tEncodeU64(&encoder, info->numOfRows) < 0) return -1;
- if (tEncodeU32(&encoder, info->verboseLen) < 0) return -1;
- if (tEncodeBinary(&encoder, info->verboseInfo, info->verboseLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeDouble(&encoder, info->startupCost));
+ TAOS_CHECK_EXIT(tEncodeDouble(&encoder, info->totalCost));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, info->numOfRows));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, info->verboseLen));
+ TAOS_CHECK_EXIT(tEncodeBinary(&encoder, info->verboseInfo, info->verboseLen));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSExplainRsp(void *buf, int32_t bufLen, SExplainRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->numOfPlans) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->numOfPlans));
if (pRsp->numOfPlans > 0) {
pRsp->subplanInfo = taosMemoryCalloc(pRsp->numOfPlans, sizeof(SExplainExecInfo));
- if (pRsp->subplanInfo == NULL) return -1;
+ if (pRsp->subplanInfo == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
for (int32_t i = 0; i < pRsp->numOfPlans; ++i) {
- if (tDecodeDouble(&decoder, &pRsp->subplanInfo[i].startupCost) < 0) return -1;
- if (tDecodeDouble(&decoder, &pRsp->subplanInfo[i].totalCost) < 0) return -1;
- if (tDecodeU64(&decoder, &pRsp->subplanInfo[i].numOfRows) < 0) return -1;
- if (tDecodeU32(&decoder, &pRsp->subplanInfo[i].verboseLen) < 0) return -1;
- if (tDecodeBinaryAlloc(&decoder, &pRsp->subplanInfo[i].verboseInfo, NULL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeDouble(&decoder, &pRsp->subplanInfo[i].startupCost));
+ TAOS_CHECK_EXIT(tDecodeDouble(&decoder, &pRsp->subplanInfo[i].totalCost));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pRsp->subplanInfo[i].numOfRows));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pRsp->subplanInfo[i].verboseLen));
+ TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, &pRsp->subplanInfo[i].verboseInfo, NULL));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSExplainRsp(SExplainRsp *pRsp) {
@@ -7639,36 +8014,45 @@ int32_t tDeserializeSBatchReq(void *buf, int32_t bufLen, SBatchReq *pReq) {
int32_t tSerializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp *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 num = taosArrayGetSize(pRsp->pRsps);
- if (tEncodeI32(&encoder, num) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, num));
for (int32_t i = 0; i < num; ++i) {
SBatchRspMsg *pMsg = taosArrayGet(pRsp->pRsps, i);
- if (tEncodeI32(&encoder, pMsg->reqType) < 0) return -1;
- if (tEncodeI32(&encoder, pMsg->msgIdx) < 0) return -1;
- if (tEncodeI32(&encoder, pMsg->msgLen) < 0) return -1;
- if (tEncodeI32(&encoder, pMsg->rspCode) < 0) return -1;
- if (tEncodeBinary(&encoder, pMsg->msg, pMsg->msgLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMsg->reqType));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMsg->msgIdx));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMsg->msgLen));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pMsg->rspCode));
+ TAOS_CHECK_EXIT(tEncodeBinary(&encoder, pMsg->msg, pMsg->msgLen));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
-
return tlen;
}
int32_t tDeserializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, (char *)buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
int32_t num = 0;
- if (tDecodeI32(&decoder, &num) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &num));
if (num <= 0) {
pRsp->pRsps = NULL;
tEndDecode(&decoder);
@@ -7678,100 +8062,125 @@ int32_t tDeserializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp *pRsp) {
}
pRsp->pRsps = taosArrayInit(num, sizeof(SBatchRspMsg));
- if (NULL == pRsp->pRsps) return -1;
+ if (NULL == pRsp->pRsps) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < num; ++i) {
SBatchRspMsg msg = {0};
- if (tDecodeI32(&decoder, &msg.reqType) < 0) return -1;
- if (tDecodeI32(&decoder, &msg.msgIdx) < 0) return -1;
- if (tDecodeI32(&decoder, &msg.msgLen) < 0) return -1;
- if (tDecodeI32(&decoder, &msg.rspCode) < 0) return -1;
- if (tDecodeBinaryAlloc(&decoder, &msg.msg, NULL) < 0) return -1;
- if (NULL == taosArrayPush(pRsp->pRsps, &msg)) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &msg.reqType));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &msg.msgIdx));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &msg.msgLen));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &msg.rspCode));
+ TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, &msg.msg, NULL));
+ if (NULL == taosArrayPush(pRsp->pRsps, &msg)) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSMqAskEpReq(void *buf, int32_t bufLen, SMqAskEpReq *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 (tEncodeI64(&encoder, pReq->consumerId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->epoch) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->cgroup) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->consumerId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->epoch));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->cgroup));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
-
return tlen;
}
int32_t tDeserializeSMqAskEpReq(void *buf, int32_t bufLen, SMqAskEpReq *pReq) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, (char *)buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeI64(&decoder, &pReq->consumerId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->epoch) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->cgroup) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->consumerId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->epoch));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->cgroup));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tDestroySMqHbRsp(SMqHbRsp *pRsp) { taosArrayDestroy(pRsp->topicPrivileges); }
int32_t tSerializeSMqHbRsp(void *buf, int32_t bufLen, SMqHbRsp *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 sz = taosArrayGetSize(pRsp->topicPrivileges);
- if (tEncodeI32(&encoder, sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, sz));
for (int32_t i = 0; i < sz; ++i) {
STopicPrivilege *privilege = (STopicPrivilege *)taosArrayGet(pRsp->topicPrivileges, i);
- if (tEncodeCStr(&encoder, privilege->topic) < 0) return -1;
- if (tEncodeI8(&encoder, privilege->noPrivilege) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, privilege->topic));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, privilege->noPrivilege));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
-
return tlen;
}
int32_t tDeserializeSMqHbRsp(void *buf, int32_t bufLen, SMqHbRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, (char *)buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
int32_t sz = 0;
- if (tDecodeI32(&decoder, &sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &sz));
if (sz > 0) {
pRsp->topicPrivileges = taosArrayInit(sz, sizeof(STopicPrivilege));
if (NULL == pRsp->topicPrivileges) return -1;
for (int32_t i = 0; i < sz; ++i) {
STopicPrivilege *data = taosArrayReserve(pRsp->topicPrivileges, 1);
- if (tDecodeCStrTo(&decoder, data->topic) < 0) return -1;
- if (tDecodeI8(&decoder, &data->noPrivilege) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, data->topic));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &data->noPrivilege));
}
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tDestroySMqHbReq(SMqHbReq *pReq) {
@@ -7784,78 +8193,94 @@ void tDestroySMqHbReq(SMqHbReq *pReq) {
int32_t tSerializeSMqHbReq(void *buf, int32_t bufLen, SMqHbReq *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));
- if (tEncodeI64(&encoder, pReq->consumerId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->epoch) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->consumerId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->epoch));
int32_t sz = taosArrayGetSize(pReq->topics);
- if (tEncodeI32(&encoder, sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, sz));
for (int32_t i = 0; i < sz; ++i) {
TopicOffsetRows *vgs = (TopicOffsetRows *)taosArrayGet(pReq->topics, i);
- if (tEncodeCStr(&encoder, vgs->topicName) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, vgs->topicName));
int32_t szVgs = taosArrayGetSize(vgs->offsetRows);
- if (tEncodeI32(&encoder, szVgs) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, szVgs));
for (int32_t j = 0; j < szVgs; ++j) {
OffsetRows *offRows = taosArrayGet(vgs->offsetRows, j);
- if (tEncodeI32(&encoder, offRows->vgId) < 0) return -1;
- if (tEncodeI64(&encoder, offRows->rows) < 0) return -1;
- if (tEncodeSTqOffsetVal(&encoder, &offRows->offset) < 0) return -1;
- if (tEncodeI64(&encoder, offRows->ever) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, offRows->vgId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, offRows->rows));
+ TAOS_CHECK_EXIT(tEncodeSTqOffsetVal(&encoder, &offRows->offset));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, offRows->ever));
}
}
- if (tEncodeI8(&encoder, pReq->pollFlag) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->pollFlag));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
-
return tlen;
}
int32_t tDeserializeSMqHbReq(void *buf, int32_t bufLen, SMqHbReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeI64(&decoder, &pReq->consumerId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->epoch) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->consumerId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->epoch));
int32_t sz = 0;
- if (tDecodeI32(&decoder, &sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &sz));
if (sz > 0) {
pReq->topics = taosArrayInit(sz, sizeof(TopicOffsetRows));
- if (NULL == pReq->topics) return -1;
+ if (NULL == pReq->topics) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < sz; ++i) {
TopicOffsetRows *data = taosArrayReserve(pReq->topics, 1);
- if (tDecodeCStrTo(&decoder, data->topicName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, data->topicName));
int32_t szVgs = 0;
- if (tDecodeI32(&decoder, &szVgs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &szVgs));
if (szVgs > 0) {
data->offsetRows = taosArrayInit(szVgs, sizeof(OffsetRows));
- if (NULL == data->offsetRows) return -1;
+ if (NULL == data->offsetRows) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t j = 0; j < szVgs; ++j) {
OffsetRows *offRows = taosArrayReserve(data->offsetRows, 1);
- if (tDecodeI32(&decoder, &offRows->vgId) < 0) return -1;
- if (tDecodeI64(&decoder, &offRows->rows) < 0) return -1;
- if (tDecodeSTqOffsetVal(&decoder, &offRows->offset) < 0) return -1;
- if (tDecodeI64(&decoder, &offRows->ever) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &offRows->vgId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &offRows->rows));
+ TAOS_CHECK_EXIT(tDecodeSTqOffsetVal(&decoder, &offRows->offset));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &offRows->ever));
}
}
}
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->pollFlag) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->pollFlag));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -7863,40 +8288,50 @@ int32_t tSerializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq *pReq) {
}
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->consumerId) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->subKey) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->consumerId));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->subKey));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ int32_t tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->head.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->head.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq *pReq) {
- int32_t headLen = sizeof(SMsgHead);
-
+ int32_t code = 0;
+ int32_t lino;
+ int32_t headLen = sizeof(SMsgHead);
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->consumerId) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->subKey) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->consumerId));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->subKey));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg *pReq) {
+ int32_t code = 0;
+ int32_t lino;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -7905,40 +8340,47 @@ int32_t tSerializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg *pReq) {
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
- if (tEncodeU64(&encoder, pReq->sId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->taskId) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->refId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->execId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->msgMask) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->taskType) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->explain) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->needFetch) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->compress) < 0) return -1;
- if (tEncodeU32(&encoder, pReq->sqlLen) < 0) return -1;
- if (tEncodeCStrWithLen(&encoder, pReq->sql, pReq->sqlLen) < 0) return -1;
- if (tEncodeU32(&encoder, pReq->msgLen) < 0) return -1;
- if (tEncodeBinary(&encoder, (uint8_t *)pReq->msg, pReq->msgLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->sId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->taskId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->refId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->execId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->msgMask));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->taskType));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->explain));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->needFetch));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->compress));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pReq->sqlLen));
+ TAOS_CHECK_EXIT(tEncodeCStrWithLen(&encoder, pReq->sql, pReq->sqlLen));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pReq->msgLen));
+ TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (uint8_t *)pReq->msg, pReq->msgLen));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ int32_t tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->header.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->header.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg *pReq) {
- int32_t headLen = sizeof(SMsgHead);
-
+ int32_t code = 0;
+ int32_t lino;
+ int32_t headLen = sizeof(SMsgHead);
SMsgHead *pHead = buf;
pHead->vgId = pReq->header.vgId;
pHead->contLen = pReq->header.contLen;
@@ -7946,27 +8388,28 @@ int32_t tDeserializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg *pReq)
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeU64(&decoder, &pReq->sId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->taskId) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->refId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->execId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->msgMask) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->taskType) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->explain) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->needFetch) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->compress) < 0) return -1;
- if (tDecodeU32(&decoder, &pReq->sqlLen) < 0) return -1;
- if (tDecodeCStrAlloc(&decoder, &pReq->sql) < 0) return -1;
- if (tDecodeU32(&decoder, &pReq->msgLen) < 0) return -1;
- if (tDecodeBinaryAlloc(&decoder, (void **)&pReq->msg, NULL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->sId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->taskId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->refId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->execId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->msgMask));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->taskType));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->explain));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->needFetch));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->compress));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pReq->sqlLen));
+ TAOS_CHECK_EXIT(tDecodeCStrAlloc(&decoder, &pReq->sql));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pReq->msgLen));
+ TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->msg, NULL));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSSubQueryMsg(SSubQueryMsg *pReq) {
@@ -7979,17 +8422,17 @@ void tFreeSSubQueryMsg(SSubQueryMsg *pReq) {
}
int32_t tSerializeSOperatorParam(SEncoder *pEncoder, SOperatorParam *pOpParam) {
- if (tEncodeI32(pEncoder, pOpParam->opType) < 0) return -1;
- if (tEncodeI32(pEncoder, pOpParam->downstreamIdx) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pOpParam->opType));
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, pOpParam->downstreamIdx));
switch (pOpParam->opType) {
case QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN: {
STableScanOperatorParam *pScan = (STableScanOperatorParam *)pOpParam->value;
- if (tEncodeI8(pEncoder, pScan->tableSeq) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI8(pEncoder, pScan->tableSeq));
int32_t uidNum = taosArrayGetSize(pScan->pUidList);
- if (tEncodeI32(pEncoder, uidNum) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, uidNum));
for (int32_t m = 0; m < uidNum; ++m) {
int64_t *pUid = taosArrayGet(pScan->pUidList, m);
- if (tEncodeI64(pEncoder, *pUid) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, *pUid));
}
break;
}
@@ -7998,33 +8441,39 @@ int32_t tSerializeSOperatorParam(SEncoder *pEncoder, SOperatorParam *pOpParam) {
}
int32_t n = taosArrayGetSize(pOpParam->pChildren);
- if (tEncodeI32(pEncoder, n) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, n));
for (int32_t i = 0; i < n; ++i) {
SOperatorParam *pChild = *(SOperatorParam **)taosArrayGet(pOpParam->pChildren, i);
- if (tSerializeSOperatorParam(pEncoder, pChild) < 0) return -1;
+ TAOS_CHECK_RETURN(tSerializeSOperatorParam(pEncoder, pChild));
}
return 0;
}
int32_t tDeserializeSOperatorParam(SDecoder *pDecoder, SOperatorParam *pOpParam) {
- if (tDecodeI32(pDecoder, &pOpParam->opType) < 0) return -1;
- if (tDecodeI32(pDecoder, &pOpParam->downstreamIdx) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pOpParam->opType));
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &pOpParam->downstreamIdx));
switch (pOpParam->opType) {
case QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN: {
STableScanOperatorParam *pScan = taosMemoryMalloc(sizeof(STableScanOperatorParam));
- if (NULL == pScan) return -1;
- if (tDecodeI8(pDecoder, (int8_t *)&pScan->tableSeq) < 0) return -1;
+ if (NULL == pScan) {
+ TAOS_CHECK_RETURN(terrno);
+ }
+ TAOS_CHECK_RETURN(tDecodeI8(pDecoder, (int8_t *)&pScan->tableSeq));
int32_t uidNum = 0;
int64_t uid = 0;
- if (tDecodeI32(pDecoder, &uidNum) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &uidNum));
if (uidNum > 0) {
pScan->pUidList = taosArrayInit(uidNum, sizeof(int64_t));
- if (NULL == pScan->pUidList) return -1;
+ if (NULL == pScan->pUidList) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int32_t m = 0; m < uidNum; ++m) {
- if (tDecodeI64(pDecoder, &uid) < 0) return -1;
- if (taosArrayPush(pScan->pUidList, &uid) == NULL) return -1;
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &uid));
+ if (taosArrayPush(pScan->pUidList, &uid) == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
}
} else {
pScan->pUidList = NULL;
@@ -8037,16 +8486,22 @@ int32_t tDeserializeSOperatorParam(SDecoder *pDecoder, SOperatorParam *pOpParam)
}
int32_t childrenNum = 0;
- if (tDecodeI32(pDecoder, &childrenNum) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &childrenNum));
if (childrenNum > 0) {
pOpParam->pChildren = taosArrayInit(childrenNum, POINTER_BYTES);
- if (NULL == pOpParam->pChildren) return -1;
+ if (NULL == pOpParam->pChildren) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int32_t i = 0; i < childrenNum; ++i) {
SOperatorParam *pChild = taosMemoryCalloc(1, sizeof(SOperatorParam));
- if (NULL == pChild) return -1;
- if (tDeserializeSOperatorParam(pDecoder, pChild) < 0) return -1;
- if (taosArrayPush(pOpParam->pChildren, &pChild) == NULL) return -1;
+ if (NULL == pChild) {
+ TAOS_CHECK_RETURN(terrno);
+ }
+ TAOS_CHECK_RETURN(tDeserializeSOperatorParam(pDecoder, pChild));
+ if (taosArrayPush(pOpParam->pChildren, &pChild) == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
}
} else {
pOpParam->pChildren = NULL;
@@ -8056,6 +8511,8 @@ int32_t tDeserializeSOperatorParam(SDecoder *pDecoder, SOperatorParam *pOpParam)
}
int32_t tSerializeSResFetchReq(void *buf, int32_t bufLen, SResFetchReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -8064,34 +8521,42 @@ int32_t tSerializeSResFetchReq(void *buf, int32_t bufLen, SResFetchReq *pReq) {
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
- if (tEncodeU64(&encoder, pReq->sId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->taskId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->execId) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->sId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->taskId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->execId));
if (pReq->pOpParam) {
- if (tEncodeI32(&encoder, 1) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, 1));
if (tSerializeSOperatorParam(&encoder, pReq->pOpParam) < 0) return -1;
} else {
- if (tEncodeI32(&encoder, 0) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, 0));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ int32_t tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->header.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->header.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSResFetchReq(void *buf, int32_t bufLen, SResFetchReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
int32_t headLen = sizeof(SMsgHead);
SMsgHead *pHead = buf;
@@ -8101,29 +8566,34 @@ int32_t tDeserializeSResFetchReq(void *buf, int32_t bufLen, SResFetchReq *pReq)
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeU64(&decoder, &pReq->sId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->taskId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->execId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->sId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->taskId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->execId));
int32_t paramNum = 0;
- if (tDecodeI32(&decoder, ¶mNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, ¶mNum));
if (paramNum > 0) {
pReq->pOpParam = taosMemoryMalloc(sizeof(*pReq->pOpParam));
- if (NULL == pReq->pOpParam) return -1;
- if (tDeserializeSOperatorParam(&decoder, pReq->pOpParam) < 0) return -1;
+ if (NULL == pReq->pOpParam) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDeserializeSOperatorParam(&decoder, pReq->pOpParam));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSMqPollReq(void *buf, int32_t bufLen, SMqPollReq *pReq) {
int32_t headLen = sizeof(SMsgHead);
+ int32_t code = 0;
+ int32_t lino;
if (buf != NULL) {
buf = (char *)buf + headLen;
bufLen -= headLen;
@@ -8131,73 +8601,84 @@ int32_t tSerializeSMqPollReq(void *buf, int32_t bufLen, SMqPollReq *pReq) {
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
- if (tEncodeCStr(&encoder, pReq->subKey) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->withTbName) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->useSnapshot) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->epoch) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->reqId) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->consumerId) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->timeout) < 0) return -1;
- if (tEncodeSTqOffsetVal(&encoder, &pReq->reqOffset) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->enableReplay) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->sourceExcluded) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->enableBatchMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->subKey));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->withTbName));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->useSnapshot));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->epoch));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->reqId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->consumerId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->timeout));
+ TAOS_CHECK_EXIT(tEncodeSTqOffsetVal(&encoder, &pReq->reqOffset));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->enableReplay));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->sourceExcluded));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->enableBatchMeta));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ int32_t tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->head.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->head.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSMqPollReq(void *buf, int32_t bufLen, SMqPollReq *pReq) {
- int32_t headLen = sizeof(SMsgHead);
-
+ int32_t code = 0;
+ int32_t lino;
+ int32_t headLen = sizeof(SMsgHead);
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeCStrTo(&decoder, pReq->subKey) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->withTbName) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->useSnapshot) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->epoch) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->reqId) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->consumerId) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->timeout) < 0) return -1;
- if (tDecodeSTqOffsetVal(&decoder, &pReq->reqOffset) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->subKey));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->withTbName));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->useSnapshot));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->epoch));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->reqId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->consumerId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->timeout));
+ TAOS_CHECK_EXIT(tDecodeSTqOffsetVal(&decoder, &pReq->reqOffset));
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->enableReplay) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->enableReplay));
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->sourceExcluded) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->sourceExcluded));
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->enableBatchMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->enableBatchMeta));
} else {
pReq->enableBatchMeta = false;
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tDestroySMqPollReq(SMqPollReq *pReq) { tOffsetDestroy(&pReq->reqOffset); }
int32_t tSerializeSTaskDropReq(void *buf, int32_t bufLen, STaskDropReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
+ int32_t tlen;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -8206,30 +8687,38 @@ int32_t tSerializeSTaskDropReq(void *buf, int32_t bufLen, STaskDropReq *pReq) {
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
- if (tEncodeU64(&encoder, pReq->sId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->taskId) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->refId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->execId) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->sId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->taskId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->refId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->execId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->header.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->header.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSTaskDropReq(void *buf, int32_t bufLen, STaskDropReq *pReq) {
int32_t headLen = sizeof(SMsgHead);
+ int32_t code = 0;
+ int32_t lino;
SMsgHead *pHead = buf;
pHead->vgId = pReq->header.vgId;
@@ -8238,21 +8727,25 @@ int32_t tDeserializeSTaskDropReq(void *buf, int32_t bufLen, STaskDropReq *pReq)
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeU64(&decoder, &pReq->sId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->taskId) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->refId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->execId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->sId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->taskId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->refId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->execId));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSTaskNotifyReq(void *buf, int32_t bufLen, STaskNotifyReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
+ int32_t tlen;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -8261,31 +8754,39 @@ int32_t tSerializeSTaskNotifyReq(void *buf, int32_t bufLen, STaskNotifyReq *pReq
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
- if (tEncodeU64(&encoder, pReq->sId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->taskId) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->refId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->execId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->type) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->sId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->taskId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->refId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->execId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->type));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->header.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->header.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSTaskNotifyReq(void *buf, int32_t bufLen, STaskNotifyReq *pReq) {
int32_t headLen = sizeof(SMsgHead);
+ int32_t code = 0;
+ int32_t lino;
SMsgHead *pHead = buf;
pHead->vgId = pReq->header.vgId;
@@ -8294,74 +8795,92 @@ int32_t tDeserializeSTaskNotifyReq(void *buf, int32_t bufLen, STaskNotifyReq *pR
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeU64(&decoder, &pReq->sId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->taskId) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->refId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->execId) < 0) return -1;
- if (tDecodeI32(&decoder, (int32_t *)&pReq->type) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->sId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->taskId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->refId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->execId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, (int32_t *)&pReq->type));
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSQueryTableRsp(void *buf, int32_t bufLen, SQueryTableRsp *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));
- if (tEncodeI32(&encoder, pRsp->code) < 0) return -1;
- if (tEncodeI64(&encoder, pRsp->affectedRows) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->code));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pRsp->affectedRows));
int32_t tbNum = taosArrayGetSize(pRsp->tbVerInfo);
- if (tEncodeI32(&encoder, tbNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, tbNum));
if (tbNum > 0) {
for (int32_t i = 0; i < tbNum; ++i) {
STbVerInfo *pVer = taosArrayGet(pRsp->tbVerInfo, i);
- if (tEncodeCStr(&encoder, pVer->tbFName) < 0) return -1;
- if (tEncodeI32(&encoder, pVer->sversion) < 0) return -1;
- if (tEncodeI32(&encoder, pVer->tversion) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pVer->tbFName));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pVer->sversion));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pVer->tversion));
}
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
-
return tlen;
}
int32_t tDeserializeSQueryTableRsp(void *buf, int32_t bufLen, SQueryTableRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, (char *)buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
- if (tDecodeI32(&decoder, &pRsp->code) < 0) return -1;
- if (tDecodeI64(&decoder, &pRsp->affectedRows) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->code));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pRsp->affectedRows));
int32_t tbNum = 0;
- if (tDecodeI32(&decoder, &tbNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &tbNum));
if (tbNum > 0) {
pRsp->tbVerInfo = taosArrayInit(tbNum, sizeof(STbVerInfo));
- if (NULL == pRsp->tbVerInfo) return -1;
+ if (NULL == pRsp->tbVerInfo) {
+ TAOS_CHECK_EXIT(terrno);
+ }
STbVerInfo tbVer;
- if (tDecodeCStrTo(&decoder, tbVer.tbFName) < 0) return -1;
- if (tDecodeI32(&decoder, &tbVer.sversion) < 0) return -1;
- if (tDecodeI32(&decoder, &tbVer.tversion) < 0) return -1;
- if (NULL == taosArrayPush(pRsp->tbVerInfo, &tbVer)) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, tbVer.tbFName));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &tbVer.sversion));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &tbVer.tversion));
+ if (NULL == taosArrayPush(pRsp->tbVerInfo, &tbVer)) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
int32_t tSerializeSSchedulerHbReq(void *buf, int32_t bufLen, SSchedulerHbReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
+ int32_t tlen;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -8371,208 +8890,185 @@ int32_t tSerializeSSchedulerHbReq(void *buf, int32_t bufLen, SSchedulerHbReq *pR
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->sId) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->epId.nodeId) < 0) return -1;
- if (tEncodeU16(&encoder, pReq->epId.ep.port) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->epId.ep.fqdn) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->sId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->epId.nodeId));
+ TAOS_CHECK_EXIT(tEncodeU16(&encoder, pReq->epId.ep.port));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->epId.ep.fqdn));
if (pReq->taskAction) {
int32_t num = taosArrayGetSize(pReq->taskAction);
- if (tEncodeI32(&encoder, num) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, num));
for (int32_t i = 0; i < num; ++i) {
STaskAction *action = taosArrayGet(pReq->taskAction, i);
- if (tEncodeU64(&encoder, action->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, action->taskId) < 0) return -1;
- if (tEncodeI8(&encoder, action->action) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, action->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, action->taskId));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, action->action));
}
} else {
- if (tEncodeI32(&encoder, 0) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, 0));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->header.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->header.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSSchedulerHbReq(void *buf, int32_t bufLen, SSchedulerHbReq *pReq) {
- int32_t headLen = sizeof(SMsgHead);
-
+ int32_t headLen = sizeof(SMsgHead);
SMsgHead *pHead = buf;
pHead->vgId = pReq->header.vgId;
pHead->contLen = pReq->header.contLen;
+ int32_t code = 0;
+ int32_t lino;
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->sId) < 0) return -1;
- if (tDecodeI32(&decoder, &pReq->epId.nodeId) < 0) return -1;
- if (tDecodeU16(&decoder, &pReq->epId.ep.port) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->epId.ep.fqdn) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->sId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->epId.nodeId));
+ TAOS_CHECK_EXIT(tDecodeU16(&decoder, &pReq->epId.ep.port));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->epId.ep.fqdn));
int32_t num = 0;
- if (tDecodeI32(&decoder, &num) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &num));
if (num > 0) {
pReq->taskAction = taosArrayInit(num, sizeof(STaskStatus));
- if (NULL == pReq->taskAction) return -1;
+ if (NULL == pReq->taskAction) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < num; ++i) {
STaskAction action = {0};
- if (tDecodeU64(&decoder, &action.queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &action.taskId) < 0) return -1;
- if (tDecodeI8(&decoder, &action.action) < 0) return -1;
- if (taosArrayPush(pReq->taskAction, &action) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &action.queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &action.taskId));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &action.action));
+ if (taosArrayPush(pReq->taskAction, &action) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
} else {
pReq->taskAction = NULL;
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSSchedulerHbReq(SSchedulerHbReq *pReq) { taosArrayDestroy(pReq->taskAction); }
int32_t tSerializeSSchedulerHbRsp(void *buf, int32_t bufLen, SSchedulerHbRsp *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 (tEncodeI32(&encoder, pRsp->epId.nodeId) < 0) return -1;
- if (tEncodeU16(&encoder, pRsp->epId.ep.port) < 0) return -1;
- if (tEncodeCStr(&encoder, pRsp->epId.ep.fqdn) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pRsp->epId.nodeId));
+ TAOS_CHECK_EXIT(tEncodeU16(&encoder, pRsp->epId.ep.port));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pRsp->epId.ep.fqdn));
if (pRsp->taskStatus) {
int32_t num = taosArrayGetSize(pRsp->taskStatus);
- if (tEncodeI32(&encoder, num) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, num));
for (int32_t i = 0; i < num; ++i) {
STaskStatus *status = taosArrayGet(pRsp->taskStatus, i);
- if (tEncodeU64(&encoder, status->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, status->taskId) < 0) return -1;
- if (tEncodeI64(&encoder, status->refId) < 0) return -1;
- if (tEncodeI32(&encoder, status->execId) < 0) return -1;
- if (tEncodeI8(&encoder, status->status) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, status->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, status->taskId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, status->refId));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, status->execId));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, status->status));
}
} else {
- if (tEncodeI32(&encoder, 0) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, 0));
}
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSSchedulerHbRsp(void *buf, int32_t bufLen, SSchedulerHbRsp *pRsp) {
SDecoder decoder = {0};
+ int32_t code = 0;
+ int32_t lino;
tDecoderInit(&decoder, buf, bufLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeI32(&decoder, &pRsp->epId.nodeId) < 0) return -1;
- if (tDecodeU16(&decoder, &pRsp->epId.ep.port) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pRsp->epId.ep.fqdn) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pRsp->epId.nodeId));
+ TAOS_CHECK_EXIT(tDecodeU16(&decoder, &pRsp->epId.ep.port));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pRsp->epId.ep.fqdn));
int32_t num = 0;
- if (tDecodeI32(&decoder, &num) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &num));
if (num > 0) {
pRsp->taskStatus = taosArrayInit(num, sizeof(STaskStatus));
if (NULL == pRsp->taskStatus) return -1;
for (int32_t i = 0; i < num; ++i) {
STaskStatus status = {0};
- if (tDecodeU64(&decoder, &status.queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &status.taskId) < 0) return -1;
- if (tDecodeI64(&decoder, &status.refId) < 0) return -1;
- if (tDecodeI32(&decoder, &status.execId) < 0) return -1;
- if (tDecodeI8(&decoder, &status.status) < 0) return -1;
- if (taosArrayPush(pRsp->taskStatus, &status) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &status.queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &status.taskId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &status.refId));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &status.execId));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &status.status));
+ if (taosArrayPush(pRsp->taskStatus, &status) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
} else {
pRsp->taskStatus = NULL;
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeSSchedulerHbRsp(SSchedulerHbRsp *pRsp) { taosArrayDestroy(pRsp->taskStatus); }
-// int32_t tSerializeSVCreateTbBatchRsp(void *buf, int32_t bufLen, SVCreateTbBatchRsp *pRsp) {
-// // SEncoder encoder = {0};
-// // tEncoderInit(&encoder, buf, bufLen);
-
-// // if (tStartEncode(&encoder) < 0) return -1;
-// // if (pRsp->rspList) {
-// // int32_t num = taosArrayGetSize(pRsp->rspList);
-// // if (tEncodeI32(&encoder, num) < 0) return -1;
-// // for (int32_t i = 0; i < num; ++i) {
-// // SVCreateTbRsp *rsp = taosArrayGet(pRsp->rspList, i);
-// // if (tEncodeI32(&encoder, rsp->code) < 0) return -1;
-// // }
-// // } else {
-// // if (tEncodeI32(&encoder, 0) < 0) return -1;
-// // }
-// // tEndEncode(&encoder);
-
-// // int32_t tlen = encoder.pos;
-// // tEncoderClear(&encoder);
-// // reture tlen;
-// return 0;
-// }
-
-// int32_t tDeserializeSVCreateTbBatchRsp(void *buf, int32_t bufLen, SVCreateTbBatchRsp *pRsp) {
-// SDecoder decoder = {0};
-// int32_t num = 0;
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &num) < 0) return -1;
-// if (num > 0) {
-// pRsp->rspList = taosArrayInit(num, sizeof(SVCreateTbRsp));
-// if (NULL == pRsp->rspList) return -1;
-// for (int32_t i = 0; i < num; ++i) {
-// SVCreateTbRsp rsp = {0};
-// if (tDecodeI32(&decoder, &rsp.code) < 0) return -1;
-// if (NULL == taosArrayPush(pRsp->rspList, &rsp)) return -1;
-// }
-// } else {
-// pRsp->rspList = NULL;
-// }
-// tEndDecode(&decoder);
-
-// tDecoderClear(&decoder);
-// return 0;
-//}
-
int tEncodeSVCreateTbBatchRsp(SEncoder *pCoder, const SVCreateTbBatchRsp *pRsp) {
int32_t nRsps = taosArrayGetSize(pRsp->pArray);
SVCreateTbRsp *pCreateRsp;
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI32v(pCoder, nRsps) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI32v(pCoder, nRsps));
for (int32_t i = 0; i < nRsps; i++) {
pCreateRsp = taosArrayGet(pRsp->pArray, i);
- if (tEncodeSVCreateTbRsp(pCoder, pCreateRsp) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSVCreateTbRsp(pCoder, pCreateRsp));
}
tEndEncode(pCoder);
-
return 0;
}
int tDecodeSVCreateTbBatchRsp(SDecoder *pCoder, SVCreateTbBatchRsp *pRsp) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeI32v(pCoder, &pRsp->nRsps) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeI32v(pCoder, &pRsp->nRsps));
pRsp->pRsps = (SVCreateTbRsp *)tDecoderMalloc(pCoder, sizeof(*pRsp->pRsps) * pRsp->nRsps);
+ if (pRsp->pRsps == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int32_t i = 0; i < pRsp->nRsps; i++) {
- if (tDecodeSVCreateTbRsp(pCoder, pRsp->pRsps + i) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSVCreateTbRsp(pCoder, pRsp->pRsps + i));
}
tEndDecode(pCoder);
@@ -8580,119 +9076,110 @@ int tDecodeSVCreateTbBatchRsp(SDecoder *pCoder, SVCreateTbBatchRsp *pRsp) {
}
int32_t tEncodeTSma(SEncoder *pCoder, const STSma *pSma) {
- if (tEncodeI8(pCoder, pSma->version) < 0) return -1;
- if (tEncodeI8(pCoder, pSma->intervalUnit) < 0) return -1;
- if (tEncodeI8(pCoder, pSma->slidingUnit) < 0) return -1;
- if (tEncodeI8(pCoder, pSma->timezoneInt) < 0) return -1;
- if (tEncodeI32(pCoder, pSma->dstVgId) < 0) return -1;
- if (tEncodeCStr(pCoder, pSma->indexName) < 0) return -1;
- if (tEncodeI32(pCoder, pSma->exprLen) < 0) return -1;
- if (tEncodeI32(pCoder, pSma->tagsFilterLen) < 0) return -1;
- if (tEncodeI64(pCoder, pSma->indexUid) < 0) return -1;
- if (tEncodeI64(pCoder, pSma->tableUid) < 0) return -1;
- if (tEncodeI64(pCoder, pSma->dstTbUid) < 0) return -1;
- if (tEncodeCStr(pCoder, pSma->dstTbName) < 0) return -1;
- if (tEncodeI64(pCoder, pSma->interval) < 0) return -1;
- if (tEncodeI64(pCoder, pSma->offset) < 0) return -1;
- if (tEncodeI64(pCoder, pSma->sliding) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pSma->version));
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pSma->intervalUnit));
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pSma->slidingUnit));
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pSma->timezoneInt));
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pSma->dstVgId));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pSma->indexName));
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pSma->exprLen));
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pSma->tagsFilterLen));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pSma->indexUid));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pSma->tableUid));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pSma->dstTbUid));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pSma->dstTbName));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pSma->interval));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pSma->offset));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pSma->sliding));
if (pSma->exprLen > 0) {
- if (tEncodeCStr(pCoder, pSma->expr) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pSma->expr));
}
if (pSma->tagsFilterLen > 0) {
- if (tEncodeCStr(pCoder, pSma->tagsFilter) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pSma->tagsFilter));
}
- if (tEncodeSSchemaWrapper(pCoder, &pSma->schemaRow) < 0) return -1;
- if (tEncodeSSchemaWrapper(pCoder, &pSma->schemaTag) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSSchemaWrapper(pCoder, &pSma->schemaRow));
+ TAOS_CHECK_RETURN(tEncodeSSchemaWrapper(pCoder, &pSma->schemaTag));
return 0;
}
int32_t tDecodeTSma(SDecoder *pCoder, STSma *pSma, bool deepCopy) {
- if (tDecodeI8(pCoder, &pSma->version) < 0) return -1;
- if (tDecodeI8(pCoder, &pSma->intervalUnit) < 0) return -1;
- if (tDecodeI8(pCoder, &pSma->slidingUnit) < 0) return -1;
- if (tDecodeI8(pCoder, &pSma->timezoneInt) < 0) return -1;
- if (tDecodeI32(pCoder, &pSma->dstVgId) < 0) return -1;
- if (tDecodeCStrTo(pCoder, pSma->indexName) < 0) return -1;
- if (tDecodeI32(pCoder, &pSma->exprLen) < 0) return -1;
- if (tDecodeI32(pCoder, &pSma->tagsFilterLen) < 0) return -1;
- if (tDecodeI64(pCoder, &pSma->indexUid) < 0) return -1;
- if (tDecodeI64(pCoder, &pSma->tableUid) < 0) return -1;
- if (tDecodeI64(pCoder, &pSma->dstTbUid) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pSma->version));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pSma->intervalUnit));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pSma->slidingUnit));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pSma->timezoneInt));
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pSma->dstVgId));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(pCoder, pSma->indexName));
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pSma->exprLen));
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pSma->tagsFilterLen));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSma->indexUid));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSma->tableUid));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSma->dstTbUid));
if (deepCopy) {
- if (tDecodeCStrAlloc(pCoder, &pSma->dstTbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrAlloc(pCoder, &pSma->dstTbName));
} else {
- if (tDecodeCStr(pCoder, &pSma->dstTbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pSma->dstTbName));
}
- if (tDecodeI64(pCoder, &pSma->interval) < 0) return -1;
- if (tDecodeI64(pCoder, &pSma->offset) < 0) return -1;
- if (tDecodeI64(pCoder, &pSma->sliding) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSma->interval));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSma->offset));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pSma->sliding));
if (pSma->exprLen > 0) {
if (deepCopy) {
- if (tDecodeCStrAlloc(pCoder, &pSma->expr) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrAlloc(pCoder, &pSma->expr));
} else {
- if (tDecodeCStr(pCoder, &pSma->expr) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pSma->expr));
}
} else {
pSma->expr = NULL;
}
if (pSma->tagsFilterLen > 0) {
if (deepCopy) {
- if (tDecodeCStrAlloc(pCoder, &pSma->tagsFilter) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrAlloc(pCoder, &pSma->tagsFilter));
} else {
- if (tDecodeCStr(pCoder, &pSma->tagsFilter) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pSma->tagsFilter));
}
} else {
pSma->tagsFilter = NULL;
}
// only needed in dstVgroup
- if (tDecodeSSchemaWrapperEx(pCoder, &pSma->schemaRow) < 0) return -1;
- if (tDecodeSSchemaWrapperEx(pCoder, &pSma->schemaTag) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSSchemaWrapperEx(pCoder, &pSma->schemaRow));
+ TAOS_CHECK_EXIT(tDecodeSSchemaWrapperEx(pCoder, &pSma->schemaTag));
- return 0;
+_exit:
+ return code;
}
int32_t tEncodeSVCreateTSmaReq(SEncoder *pCoder, const SVCreateTSmaReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeTSma(pCoder, pReq) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeTSma(pCoder, pReq));
tEndEncode(pCoder);
return 0;
}
int32_t tDecodeSVCreateTSmaReq(SDecoder *pCoder, SVCreateTSmaReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeTSma(pCoder, pReq, false) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeTSma(pCoder, pReq, false));
tEndDecode(pCoder);
return 0;
}
int32_t tEncodeSVDropTSmaReq(SEncoder *pCoder, const SVDropTSmaReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI64(pCoder, pReq->indexUid) < 0) return -1;
- if (tEncodeCStr(pCoder, pReq->indexName) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->indexUid));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pReq->indexName));
tEndEncode(pCoder);
return 0;
}
-// int32_t tDecodeSVDropTSmaReq(SDecoder *pCoder, SVDropTSmaReq *pReq) {
-// if (tStartDecode(pCoder) < 0) return -1;
-
-// if (tDecodeI64(pCoder, &pReq->indexUid) < 0) return -1;
-// if (tDecodeCStrTo(pCoder, pReq->indexName) < 0) return -1;
-
-// tEndDecode(pCoder);
-// return 0;
-// }
-
int32_t tSerializeSVDeleteReq(void *buf, int32_t bufLen, SVDeleteReq *pReq) {
+ int32_t code = 0;
+ int32_t lino;
int32_t headLen = sizeof(SMsgHead);
if (buf != NULL) {
buf = (char *)buf + headLen;
@@ -8702,31 +9189,38 @@ int32_t tSerializeSVDeleteReq(void *buf, int32_t bufLen, SVDeleteReq *pReq) {
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
- if (tStartEncode(&encoder) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->sId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->queryId) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->taskId) < 0) return -1;
- if (tEncodeU32(&encoder, pReq->sqlLen) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->sql) < 0) return -1;
- if (tEncodeBinary(&encoder, pReq->msg, pReq->phyLen) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->source) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->sId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->queryId));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->taskId));
+ TAOS_CHECK_EXIT(tEncodeU32(&encoder, pReq->sqlLen));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->sql));
+ TAOS_CHECK_EXIT(tEncodeBinary(&encoder, pReq->msg, pReq->phyLen));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->source));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ int32_t tlen = encoder.pos;
+ tEncoderClear(&encoder);
- if (buf != NULL) {
- SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
- pHead->vgId = htonl(pReq->header.vgId);
- pHead->contLen = htonl(tlen + headLen);
+ if (buf != NULL) {
+ SMsgHead *pHead = (SMsgHead *)((char *)buf - headLen);
+ pHead->vgId = htonl(pReq->header.vgId);
+ pHead->contLen = htonl(tlen + headLen);
+ }
+
+ return tlen + headLen;
}
-
- return tlen + headLen;
}
int32_t tDeserializeSVDeleteReq(void *buf, int32_t bufLen, SVDeleteReq *pReq) {
- int32_t headLen = sizeof(SMsgHead);
-
+ int32_t code = 0;
+ int32_t lino;
+ int32_t headLen = sizeof(SMsgHead);
SMsgHead *pHead = buf;
pHead->vgId = pReq->header.vgId;
pHead->contLen = pReq->header.contLen;
@@ -8734,41 +9228,40 @@ int32_t tDeserializeSVDeleteReq(void *buf, int32_t bufLen, SVDeleteReq *pReq) {
SDecoder decoder = {0};
tDecoderInit(&decoder, (char *)buf + headLen, bufLen - headLen);
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->sId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->queryId) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->taskId) < 0) return -1;
- if (tDecodeU32(&decoder, &pReq->sqlLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->sId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->queryId));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->taskId));
+ TAOS_CHECK_EXIT(tDecodeU32(&decoder, &pReq->sqlLen));
pReq->sql = taosMemoryCalloc(1, pReq->sqlLen + 1);
- if (NULL == pReq->sql) return -1;
- if (tDecodeCStrTo(&decoder, pReq->sql) < 0) return -1;
+ if (NULL == pReq->sql) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->sql));
uint64_t msgLen = 0;
- if (tDecodeBinaryAlloc(&decoder, (void **)&pReq->msg, &msgLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->msg, &msgLen));
pReq->phyLen = msgLen;
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI8(&decoder, &pReq->source) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->source));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
return 0;
}
int32_t tEncodeSVDeleteRsp(SEncoder *pCoder, const SVDeleteRsp *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI64(pCoder, pReq->affectedRows) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->affectedRows));
tEndEncode(pCoder);
return 0;
}
int32_t tDecodeSVDeleteRsp(SDecoder *pCoder, SVDeleteRsp *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeI64(pCoder, &pReq->affectedRows) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeI64(pCoder, &pReq->affectedRows));
tEndDecode(pCoder);
return 0;
}
@@ -8781,69 +9274,77 @@ int32_t tSerializeSCMCreateStreamReq(void *buf, int32_t bufLen, const SCMCreateS
SEncoder encoder = {0};
tEncoderInit(&encoder, buf, bufLen);
+ int32_t code = 0;
+ int32_t lino;
- if (tStartEncode(&encoder) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->name) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->sourceDB) < 0) return -1;
- if (tEncodeCStr(&encoder, pReq->targetStbFullName) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->igExists) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->fillHistory) < 0) return -1;
- if (tEncodeI32(&encoder, sqlLen) < 0) return -1;
- if (tEncodeI32(&encoder, astLen) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->triggerType) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->maxDelay) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->watermark) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->igExpired) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(&encoder));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->name));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->sourceDB));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pReq->targetStbFullName));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igExists));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->fillHistory));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, sqlLen));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, astLen));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->triggerType));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->maxDelay));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->watermark));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igExpired));
if (sqlLen > 0 && tEncodeCStr(&encoder, pReq->sql) < 0) return -1;
if (astLen > 0 && tEncodeCStr(&encoder, pReq->ast) < 0) return -1;
- if (tEncodeI32(&encoder, pReq->numOfTags) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->numOfTags));
for (int32_t i = 0; i < pReq->numOfTags; ++i) {
SField *pField = taosArrayGet(pReq->pTags, i);
- if (tEncodeI8(&encoder, pField->type) < 0) return -1;
- if (tEncodeI8(&encoder, pField->flags) < 0) return -1;
- if (tEncodeI32(&encoder, pField->bytes) < 0) return -1;
- if (tEncodeCStr(&encoder, pField->name) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pField->type));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pField->flags));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pField->bytes));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pField->name));
}
- if (tEncodeI8(&encoder, pReq->createStb) < 0) return -1;
- if (tEncodeU64(&encoder, pReq->targetStbUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->createStb));
+ TAOS_CHECK_EXIT(tEncodeU64(&encoder, pReq->targetStbUid));
- if (tEncodeI32(&encoder, taosArrayGetSize(pReq->fillNullCols)) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, taosArrayGetSize(pReq->fillNullCols)));
for (int32_t i = 0; i < taosArrayGetSize(pReq->fillNullCols); ++i) {
SColLocation *pCol = taosArrayGet(pReq->fillNullCols, i);
- if (tEncodeI16(&encoder, pCol->slotId) < 0) return -1;
- if (tEncodeI16(&encoder, pCol->colId) < 0) return -1;
- if (tEncodeI8(&encoder, pCol->type) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI16(&encoder, pCol->slotId));
+ TAOS_CHECK_EXIT(tEncodeI16(&encoder, pCol->colId));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pCol->type));
}
- if (tEncodeI64(&encoder, pReq->deleteMark) < 0) return -1;
- if (tEncodeI8(&encoder, pReq->igUpdate) < 0) return -1;
- if (tEncodeI64(&encoder, pReq->lastTs) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->deleteMark));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pReq->igUpdate));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->lastTs));
- if (tEncodeI32(&encoder, taosArrayGetSize(pReq->pVgroupVerList)) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, taosArrayGetSize(pReq->pVgroupVerList)));
for (int32_t i = 0; i < taosArrayGetSize(pReq->pVgroupVerList); ++i) {
SVgroupVer *p = taosArrayGet(pReq->pVgroupVerList, i);
- if (tEncodeI32(&encoder, p->vgId) < 0) return -1;
- if (tEncodeI64(&encoder, p->ver) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, p->vgId));
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, p->ver));
}
int32_t colSize = taosArrayGetSize(pReq->pCols);
- if (tEncodeI32(&encoder, colSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, colSize));
for (int32_t i = 0; i < colSize; ++i) {
SFieldWithOptions *pField = taosArrayGet(pReq->pCols, i);
- if (tEncodeI8(&encoder, pField->type) < 0) return -1;
- if (tEncodeI8(&encoder, pField->flags) < 0) return -1;
- if (tEncodeI32(&encoder, pField->bytes) < 0) return -1;
- if (tEncodeCStr(&encoder, pField->name) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pField->type));
+ TAOS_CHECK_EXIT(tEncodeI8(&encoder, pField->flags));
+ TAOS_CHECK_EXIT(tEncodeI32(&encoder, pField->bytes));
+ TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pField->name));
}
- if (tEncodeI64(&encoder, pReq->smaId) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(&encoder, pReq->smaId));
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
- tEncoderClear(&encoder);
- return tlen;
+_exit:
+ if (code) {
+ tEncoderClear(&encoder);
+ return code;
+ } else {
+ int32_t tlen = encoder.pos;
+ tEncoderClear(&encoder);
+ return tlen;
+ }
}
int32_t tDeserializeSCMCreateStreamReq(void *buf, int32_t bufLen, SCMCreateStreamReq *pReq) {
@@ -8854,183 +9355,171 @@ int32_t tDeserializeSCMCreateStreamReq(void *buf, int32_t bufLen, SCMCreateStrea
SDecoder decoder = {0};
tDecoderInit(&decoder, buf, bufLen);
+ int32_t code = 0;
+ int32_t lino;
- if (tStartDecode(&decoder) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->name) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->sourceDB) < 0) return -1;
- if (tDecodeCStrTo(&decoder, pReq->targetStbFullName) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->igExists) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->fillHistory) < 0) return -1;
- if (tDecodeI32(&decoder, &sqlLen) < 0) return -1;
- if (tDecodeI32(&decoder, &astLen) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->triggerType) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->maxDelay) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->watermark) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->igExpired) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(&decoder));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->name));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->sourceDB));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->targetStbFullName));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igExists));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->fillHistory));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &sqlLen));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &astLen));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->triggerType));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->maxDelay));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->watermark));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igExpired));
if (sqlLen > 0) {
pReq->sql = taosMemoryCalloc(1, sqlLen + 1);
- if (pReq->sql == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->sql) < 0) return -1;
+ if (pReq->sql == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->sql));
}
if (astLen > 0) {
pReq->ast = taosMemoryCalloc(1, astLen + 1);
- if (pReq->ast == NULL) return -1;
- if (tDecodeCStrTo(&decoder, pReq->ast) < 0) return -1;
+ if (pReq->ast == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, pReq->ast));
}
- if (tDecodeI32(&decoder, &pReq->numOfTags) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->numOfTags));
if (pReq->numOfTags > 0) {
pReq->pTags = taosArrayInit(pReq->numOfTags, sizeof(SField));
if (pReq->pTags == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < pReq->numOfTags; ++i) {
SField field = {0};
- if (tDecodeI8(&decoder, &field.type) < 0) return -1;
- if (tDecodeI8(&decoder, &field.flags) < 0) return -1;
- if (tDecodeI32(&decoder, &field.bytes) < 0) return -1;
- if (tDecodeCStrTo(&decoder, field.name) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &field.type));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &field.flags));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &field.bytes));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, field.name));
if (taosArrayPush(pReq->pTags, &field) == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
- if (tDecodeI8(&decoder, &pReq->createStb) < 0) return -1;
- if (tDecodeU64(&decoder, &pReq->targetStbUid) < 0) return -1;
- if (tDecodeI32(&decoder, &numOfFillNullCols) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->createStb));
+ TAOS_CHECK_EXIT(tDecodeU64(&decoder, &pReq->targetStbUid));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &numOfFillNullCols));
if (numOfFillNullCols > 0) {
pReq->fillNullCols = taosArrayInit(numOfFillNullCols, sizeof(SColLocation));
if (pReq->fillNullCols == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < numOfFillNullCols; ++i) {
SColLocation col = {0};
- if (tDecodeI16(&decoder, &col.slotId) < 0) return -1;
- if (tDecodeI16(&decoder, &col.colId) < 0) return -1;
- if (tDecodeI8(&decoder, &col.type) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI16(&decoder, &col.slotId));
+ TAOS_CHECK_EXIT(tDecodeI16(&decoder, &col.colId));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &col.type));
if (taosArrayPush(pReq->fillNullCols, &col) == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
- if (tDecodeI64(&decoder, &pReq->deleteMark) < 0) return -1;
- if (tDecodeI8(&decoder, &pReq->igUpdate) < 0) return -1;
- if (tDecodeI64(&decoder, &pReq->lastTs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->deleteMark));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &pReq->igUpdate));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->lastTs));
- if (tDecodeI32(&decoder, &numOfVgVer) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &numOfVgVer));
if (numOfVgVer > 0) {
pReq->pVgroupVerList = taosArrayInit(numOfVgVer, sizeof(SVgroupVer));
if (pReq->pVgroupVerList == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < numOfVgVer; ++i) {
SVgroupVer v = {0};
- if (tDecodeI32(&decoder, &v.vgId) < 0) return -1;
- if (tDecodeI64(&decoder, &v.ver) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &v.vgId));
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &v.ver));
if (taosArrayPush(pReq->pVgroupVerList, &v) == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
int32_t colSize = 0;
- if (tDecodeI32(&decoder, &colSize) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &colSize));
if (colSize > 0) {
pReq->pCols = taosArrayInit(colSize, sizeof(SField));
if (pReq->pCols == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
for (int32_t i = 0; i < colSize; ++i) {
SField field = {0};
- if (tDecodeI8(&decoder, &field.type) < 0) return -1;
- if (tDecodeI8(&decoder, &field.flags) < 0) return -1;
- if (tDecodeI32(&decoder, &field.bytes) < 0) return -1;
- if (tDecodeCStrTo(&decoder, field.name) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &field.type));
+ TAOS_CHECK_EXIT(tDecodeI8(&decoder, &field.flags));
+ TAOS_CHECK_EXIT(tDecodeI32(&decoder, &field.bytes));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, field.name));
if (taosArrayPush(pReq->pCols, &field) == NULL) {
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
}
if (!tDecodeIsEnd(&decoder)) {
- if (tDecodeI64(&decoder, &pReq->smaId) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pReq->smaId));
}
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
-
- return 0;
+ return code;
}
int32_t tSerializeSMDropStreamReq(void *buf, int32_t bufLen, const SMDropStreamReq *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));
ENCODESQL();
tEndEncode(&encoder);
- int32_t tlen = encoder.pos;
+_exit:
+ if (code) {
+ tlen = code;
+ } else {
+ tlen = encoder.pos;
+ }
tEncoderClear(&encoder);
return tlen;
}
int32_t tDeserializeSMDropStreamReq(void *buf, int32_t bufLen, SMDropStreamReq *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));
DECODESQL();
tEndDecode(&decoder);
+_exit:
tDecoderClear(&decoder);
- return 0;
+ return code;
}
void tFreeMDropStreamReq(SMDropStreamReq *pReq) { FREESQL(); }
-// int32_t tSerializeSMRecoverStreamReq(void *buf, int32_t bufLen, const SMRecoverStreamReq *pReq) {
-// 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;
-
-// tEndEncode(&encoder);
-
-// int32_t tlen = encoder.pos;
-// tEncoderClear(&encoder);
-// return tlen;
-// }
-
-// int32_t tDeserializeSMRecoverStreamReq(void *buf, int32_t bufLen, SMRecoverStreamReq *pReq) {
-// SDecoder decoder = {0};
-// 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;
-
-// tEndDecode(&decoder);
-
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
void tFreeSCMCreateStreamReq(SCMCreateStreamReq *pReq) {
if (NULL == pReq) {
return;
@@ -9044,215 +9533,253 @@ void tFreeSCMCreateStreamReq(SCMCreateStreamReq *pReq) {
}
int32_t tEncodeSRSmaParam(SEncoder *pCoder, const SRSmaParam *pRSmaParam) {
+ int32_t code = 0;
+ int32_t lino;
for (int32_t i = 0; i < 2; ++i) {
- if (tEncodeI64v(pCoder, pRSmaParam->maxdelay[i]) < 0) return -1;
- if (tEncodeI64v(pCoder, pRSmaParam->watermark[i]) < 0) return -1;
- if (tEncodeI32v(pCoder, pRSmaParam->qmsgLen[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64v(pCoder, pRSmaParam->maxdelay[i]));
+ TAOS_CHECK_EXIT(tEncodeI64v(pCoder, pRSmaParam->watermark[i]));
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, pRSmaParam->qmsgLen[i]));
if (pRSmaParam->qmsgLen[i] > 0) {
- if (tEncodeBinary(pCoder, pRSmaParam->qmsg[i], (uint64_t)pRSmaParam->qmsgLen[i]) <
- 0) // qmsgLen contains len of '\0'
- return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pCoder, pRSmaParam->qmsg[i], (uint64_t)pRSmaParam->qmsgLen[i]));
}
}
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSRSmaParam(SDecoder *pCoder, SRSmaParam *pRSmaParam) {
+ int32_t code = 0;
+ int32_t lino;
for (int32_t i = 0; i < 2; ++i) {
- if (tDecodeI64v(pCoder, &pRSmaParam->maxdelay[i]) < 0) return -1;
- if (tDecodeI64v(pCoder, &pRSmaParam->watermark[i]) < 0) return -1;
- if (tDecodeI32v(pCoder, &pRSmaParam->qmsgLen[i]) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64v(pCoder, &pRSmaParam->maxdelay[i]));
+ TAOS_CHECK_EXIT(tDecodeI64v(pCoder, &pRSmaParam->watermark[i]));
+ TAOS_CHECK_EXIT(tDecodeI32v(pCoder, &pRSmaParam->qmsgLen[i]));
if (pRSmaParam->qmsgLen[i] > 0) {
- if (tDecodeBinary(pCoder, (uint8_t **)&pRSmaParam->qmsg[i], NULL) < 0) return -1; // qmsgLen contains len of '\0'
+ TAOS_CHECK_EXIT(tDecodeBinary(pCoder, (uint8_t **)&pRSmaParam->qmsg[i], NULL)); // qmsgLen contains len of '\0'
} else {
pRSmaParam->qmsg[i] = NULL;
}
}
- return 0;
+_exit:
+ return code;
}
int32_t tEncodeSColCmprWrapper(SEncoder *pCoder, const SColCmprWrapper *pWrapper) {
- if (tEncodeI32v(pCoder, pWrapper->nCols) < 0) return -1;
- if (tEncodeI32v(pCoder, pWrapper->version) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, pWrapper->nCols));
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, pWrapper->version));
for (int32_t i = 0; i < pWrapper->nCols; i++) {
SColCmpr *p = &pWrapper->pColCmpr[i];
- if (tEncodeI16v(pCoder, p->id) < 0) return -1;
- if (tEncodeU32(pCoder, p->alg) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI16v(pCoder, p->id));
+ TAOS_CHECK_EXIT(tEncodeU32(pCoder, p->alg));
}
- return 0;
+
+_exit:
+ return code;
}
+
int32_t tDecodeSColCmprWrapperEx(SDecoder *pDecoder, SColCmprWrapper *pWrapper) {
- if (tDecodeI32v(pDecoder, &pWrapper->nCols) < 0) return -1;
- if (tDecodeI32v(pDecoder, &pWrapper->version) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pWrapper->nCols));
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pWrapper->version));
pWrapper->pColCmpr = (SColCmpr *)tDecoderMalloc(pDecoder, pWrapper->nCols * sizeof(SColCmpr));
- if (pWrapper->pColCmpr == NULL) return -1;
+ if (pWrapper->pColCmpr == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int i = 0; i < pWrapper->nCols; i++) {
SColCmpr *p = &pWrapper->pColCmpr[i];
- if (tDecodeI16v(pDecoder, &p->id) < 0) goto END;
- if (tDecodeU32(pDecoder, &p->alg) < 0) goto END;
+ TAOS_CHECK_EXIT(tDecodeI16v(pDecoder, &p->id));
+ TAOS_CHECK_EXIT(tDecodeU32(pDecoder, &p->alg));
}
- return 0;
-END:
- taosMemoryFree(pWrapper->pColCmpr);
- return -1;
+
+_exit:
+ if (code) {
+ taosMemoryFree(pWrapper->pColCmpr);
+ }
+ return code;
}
+
int tEncodeSVCreateStbReq(SEncoder *pCoder, const SVCreateStbReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
- if (tEncodeCStr(pCoder, pReq->name) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->suid) < 0) return -1;
- if (tEncodeI8(pCoder, pReq->rollup) < 0) return -1;
- if (tEncodeSSchemaWrapper(pCoder, &pReq->schemaRow) < 0) return -1;
- if (tEncodeSSchemaWrapper(pCoder, &pReq->schemaTag) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(pCoder));
+
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, pReq->name));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pReq->suid));
+ TAOS_CHECK_EXIT(tEncodeI8(pCoder, pReq->rollup));
+ TAOS_CHECK_EXIT(tEncodeSSchemaWrapper(pCoder, &pReq->schemaRow));
+ TAOS_CHECK_EXIT(tEncodeSSchemaWrapper(pCoder, &pReq->schemaTag));
if (pReq->rollup) {
- if (tEncodeSRSmaParam(pCoder, &pReq->rsmaParam) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSRSmaParam(pCoder, &pReq->rsmaParam));
}
- if (tEncodeI32(pCoder, pReq->alterOriDataLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(pCoder, pReq->alterOriDataLen));
if (pReq->alterOriDataLen > 0) {
- if (tEncodeBinary(pCoder, pReq->alterOriData, pReq->alterOriDataLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pCoder, pReq->alterOriData, pReq->alterOriDataLen));
}
- if (tEncodeI8(pCoder, pReq->source) < 0) return -1;
-
- if (tEncodeI8(pCoder, pReq->colCmpred) < 0) return -1;
- if (tEncodeSColCmprWrapper(pCoder, &pReq->colCmpr) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(pCoder, pReq->source));
+ TAOS_CHECK_EXIT(tEncodeI8(pCoder, pReq->colCmpred));
+ TAOS_CHECK_EXIT(tEncodeSColCmprWrapper(pCoder, &pReq->colCmpr));
tEndEncode(pCoder);
- return 0;
+
+_exit:
+ return code;
}
int tDecodeSVCreateStbReq(SDecoder *pCoder, SVCreateStbReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
- if (tDecodeCStr(pCoder, &pReq->name) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->suid) < 0) return -1;
- if (tDecodeI8(pCoder, &pReq->rollup) < 0) return -1;
- if (tDecodeSSchemaWrapperEx(pCoder, &pReq->schemaRow) < 0) return -1;
- if (tDecodeSSchemaWrapperEx(pCoder, &pReq->schemaTag) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(pCoder));
+
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pReq->name));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->suid));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pReq->rollup));
+ TAOS_CHECK_EXIT(tDecodeSSchemaWrapperEx(pCoder, &pReq->schemaRow));
+ TAOS_CHECK_EXIT(tDecodeSSchemaWrapperEx(pCoder, &pReq->schemaTag));
if (pReq->rollup) {
- if (tDecodeSRSmaParam(pCoder, &pReq->rsmaParam) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSRSmaParam(pCoder, &pReq->rsmaParam));
}
- if (tDecodeI32(pCoder, &pReq->alterOriDataLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pReq->alterOriDataLen));
if (pReq->alterOriDataLen > 0) {
- if (tDecodeBinary(pCoder, (uint8_t **)&pReq->alterOriData, NULL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeBinary(pCoder, (uint8_t **)&pReq->alterOriData, NULL));
}
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeI8(pCoder, &pReq->source) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pReq->source));
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeI8(pCoder, &pReq->colCmpred) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pReq->colCmpred));
}
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeSColCmprWrapperEx(pCoder, &pReq->colCmpr) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSColCmprWrapperEx(pCoder, &pReq->colCmpr));
}
}
-
tEndDecode(pCoder);
- return 0;
+
+_exit:
+ return code;
}
int tEncodeSVCreateTbReq(SEncoder *pCoder, const SVCreateTbReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
- if (tEncodeI32v(pCoder, pReq->flags) < 0) return -1;
- if (tEncodeCStr(pCoder, pReq->name) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->uid) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->btime) < 0) return -1;
- if (tEncodeI32(pCoder, pReq->ttl) < 0) return -1;
- if (tEncodeI8(pCoder, pReq->type) < 0) return -1;
- if (tEncodeI32(pCoder, pReq->commentLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(pCoder));
+
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, pReq->flags));
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, pReq->name));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pReq->uid));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pReq->btime));
+ TAOS_CHECK_EXIT(tEncodeI32(pCoder, pReq->ttl));
+ TAOS_CHECK_EXIT(tEncodeI8(pCoder, pReq->type));
+ TAOS_CHECK_EXIT(tEncodeI32(pCoder, pReq->commentLen));
if (pReq->commentLen > 0) {
- if (tEncodeCStr(pCoder, pReq->comment) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, pReq->comment));
}
if (pReq->type == TSDB_CHILD_TABLE) {
- if (tEncodeCStr(pCoder, pReq->ctb.stbName) < 0) return -1;
- if (tEncodeU8(pCoder, pReq->ctb.tagNum) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->ctb.suid) < 0) return -1;
- if (tEncodeTag(pCoder, (const STag *)pReq->ctb.pTag) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, pReq->ctb.stbName));
+ TAOS_CHECK_EXIT(tEncodeU8(pCoder, pReq->ctb.tagNum));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pReq->ctb.suid));
+ TAOS_CHECK_EXIT(tEncodeTag(pCoder, (const STag *)pReq->ctb.pTag));
int32_t len = taosArrayGetSize(pReq->ctb.tagName);
- if (tEncodeI32(pCoder, len) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(pCoder, len));
for (int32_t i = 0; i < len; i++) {
char *name = taosArrayGet(pReq->ctb.tagName, i);
- if (tEncodeCStr(pCoder, name) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, name));
}
} else if (pReq->type == TSDB_NORMAL_TABLE) {
- if (tEncodeSSchemaWrapper(pCoder, &pReq->ntb.schemaRow) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSSchemaWrapper(pCoder, &pReq->ntb.schemaRow));
} else {
return TSDB_CODE_INVALID_MSG;
}
// ENCODESQL
- if (tEncodeI32(pCoder, pReq->sqlLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(pCoder, pReq->sqlLen));
if (pReq->sqlLen > 0) {
- if (tEncodeBinary(pCoder, pReq->sql, pReq->sqlLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pCoder, pReq->sql, pReq->sqlLen));
}
// Encode Column Options: encode compress level
if (pReq->type == TSDB_SUPER_TABLE || pReq->type == TSDB_NORMAL_TABLE) {
- if (tEncodeSColCmprWrapper(pCoder, &pReq->colCmpr) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSColCmprWrapper(pCoder, &pReq->colCmpr));
}
tEndEncode(pCoder);
- return 0;
+_exit:
+ return code;
}
int tDecodeSVCreateTbReq(SDecoder *pCoder, SVCreateTbReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
- if (tDecodeI32v(pCoder, &pReq->flags) < 0) return -1;
- if (tDecodeCStr(pCoder, &pReq->name) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->uid) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->btime) < 0) return -1;
- if (tDecodeI32(pCoder, &pReq->ttl) < 0) return -1;
- if (tDecodeI8(pCoder, &pReq->type) < 0) return -1;
- if (tDecodeI32(pCoder, &pReq->commentLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(pCoder));
+
+ TAOS_CHECK_EXIT(tDecodeI32v(pCoder, &pReq->flags));
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pReq->name));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->uid));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->btime));
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pReq->ttl));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pReq->type));
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pReq->commentLen));
if (pReq->commentLen > 0) {
pReq->comment = taosMemoryMalloc(pReq->commentLen + 1);
if (pReq->comment == NULL) return -1;
- if (tDecodeCStrTo(pCoder, pReq->comment) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(pCoder, pReq->comment));
}
if (pReq->type == TSDB_CHILD_TABLE) {
- if (tDecodeCStr(pCoder, &pReq->ctb.stbName) < 0) return -1;
- if (tDecodeU8(pCoder, &pReq->ctb.tagNum) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->ctb.suid) < 0) return -1;
- if (tDecodeTag(pCoder, (STag **)&pReq->ctb.pTag) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pReq->ctb.stbName));
+ TAOS_CHECK_EXIT(tDecodeU8(pCoder, &pReq->ctb.tagNum));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->ctb.suid));
+ TAOS_CHECK_EXIT(tDecodeTag(pCoder, (STag **)&pReq->ctb.pTag));
int32_t len = 0;
- if (tDecodeI32(pCoder, &len) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &len));
pReq->ctb.tagName = taosArrayInit(len, TSDB_COL_NAME_LEN);
- if (pReq->ctb.tagName == NULL) return -1;
+ if (pReq->ctb.tagName == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < len; i++) {
char name[TSDB_COL_NAME_LEN] = {0};
char *tmp = NULL;
- if (tDecodeCStr(pCoder, &tmp) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &tmp));
strncpy(name, tmp, TSDB_COL_NAME_LEN - 1);
- if (taosArrayPush(pReq->ctb.tagName, name) == NULL) return -1;
+ if (taosArrayPush(pReq->ctb.tagName, name) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
} else if (pReq->type == TSDB_NORMAL_TABLE) {
- if (tDecodeSSchemaWrapperEx(pCoder, &pReq->ntb.schemaRow) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSSchemaWrapperEx(pCoder, &pReq->ntb.schemaRow));
} else {
return TSDB_CODE_INVALID_MSG;
}
// DECODESQL
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeI32(pCoder, &pReq->sqlLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pReq->sqlLen));
if (pReq->sqlLen > 0) {
- if (tDecodeBinaryAlloc(pCoder, (void **)&pReq->sql, NULL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeBinaryAlloc(pCoder, (void **)&pReq->sql, NULL));
}
if (pReq->type == TSDB_NORMAL_TABLE || pReq->type == TSDB_SUPER_TABLE)
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeSColCmprWrapperEx(pCoder, &pReq->colCmpr) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSColCmprWrapperEx(pCoder, &pReq->colCmpr));
}
}
tEndDecode(pCoder);
- return 0;
+_exit:
+ return code;
}
void tDestroySVCreateTbReq(SVCreateTbReq *pReq, int32_t flags) {
@@ -9285,31 +9812,32 @@ void tDestroySVCreateTbReq(SVCreateTbReq *pReq, int32_t flags) {
int tEncodeSVCreateTbBatchReq(SEncoder *pCoder, const SVCreateTbBatchReq *pReq) {
int32_t nReq = taosArrayGetSize(pReq->pArray);
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI32v(pCoder, nReq) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI32v(pCoder, nReq));
for (int iReq = 0; iReq < nReq; iReq++) {
- if (tEncodeSVCreateTbReq(pCoder, (SVCreateTbReq *)taosArrayGet(pReq->pArray, iReq)) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSVCreateTbReq(pCoder, (SVCreateTbReq *)taosArrayGet(pReq->pArray, iReq)));
}
- if (tEncodeI8(pCoder, pReq->source) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pReq->source));
tEndEncode(pCoder);
return 0;
}
int tDecodeSVCreateTbBatchReq(SDecoder *pCoder, SVCreateTbBatchReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
- if (tDecodeI32v(pCoder, &pReq->nReqs) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32v(pCoder, &pReq->nReqs));
pReq->pReqs = (SVCreateTbReq *)tDecoderMalloc(pCoder, sizeof(SVCreateTbReq) * pReq->nReqs);
- if (pReq->pReqs == NULL) return -1;
+ if (pReq->pReqs == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int iReq = 0; iReq < pReq->nReqs; iReq++) {
- if (tDecodeSVCreateTbReq(pCoder, pReq->pReqs + iReq) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSVCreateTbReq(pCoder, pReq->pReqs + iReq));
}
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeI8(pCoder, &pReq->source) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI8(pCoder, &pReq->source));
}
tEndDecode(pCoder);
@@ -9329,12 +9857,12 @@ void tDeleteSVCreateTbBatchReq(SVCreateTbBatchReq *pReq) {
}
int tEncodeSVCreateTbRsp(SEncoder *pCoder, const SVCreateTbRsp *pRsp) {
- if (tStartEncode(pCoder) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
- if (tEncodeI32(pCoder, pRsp->code) < 0) return -1;
- if (tEncodeI32(pCoder, pRsp->pMeta ? 1 : 0) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pRsp->code));
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pRsp->pMeta ? 1 : 0));
if (pRsp->pMeta) {
- if (tEncodeSTableMetaRsp(pCoder, pRsp->pMeta) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSTableMetaRsp(pCoder, pRsp->pMeta));
}
tEndEncode(pCoder);
@@ -9342,16 +9870,18 @@ int tEncodeSVCreateTbRsp(SEncoder *pCoder, const SVCreateTbRsp *pRsp) {
}
int tDecodeSVCreateTbRsp(SDecoder *pCoder, SVCreateTbRsp *pRsp) {
- if (tStartDecode(pCoder) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
- if (tDecodeI32(pCoder, &pRsp->code) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pCoder, &pRsp->code));
int32_t meta = 0;
- if (tDecodeI32(pCoder, &meta) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pCoder, &meta));
if (meta) {
pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
- if (NULL == pRsp->pMeta) return -1;
- if (tDecodeSTableMetaRsp(pCoder, pRsp->pMeta) < 0) return -1;
+ if (NULL == pRsp->pMeta) {
+ TAOS_CHECK_RETURN(terrno);
+ }
+ TAOS_CHECK_RETURN(tDecodeSTableMetaRsp(pCoder, pRsp->pMeta));
} else {
pRsp->pMeta = NULL;
}
@@ -9375,41 +9905,35 @@ void tFreeSVCreateTbRsp(void *param) {
// TDMT_VND_DROP_TABLE =================
static int32_t tEncodeSVDropTbReq(SEncoder *pCoder, const SVDropTbReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeCStr(pCoder, pReq->name) < 0) return -1;
- if (tEncodeU64(pCoder, pReq->suid) < 0) return -1;
- if (tEncodeI8(pCoder, pReq->igNotExists) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pReq->name));
+ TAOS_CHECK_RETURN(tEncodeU64(pCoder, pReq->suid));
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pReq->igNotExists));
tEndEncode(pCoder);
return 0;
}
static int32_t tDecodeSVDropTbReq(SDecoder *pCoder, SVDropTbReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeCStr(pCoder, &pReq->name) < 0) return -1;
- if (tDecodeU64(pCoder, &pReq->suid) < 0) return -1;
- if (tDecodeI8(pCoder, &pReq->igNotExists) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeCStr(pCoder, &pReq->name));
+ TAOS_CHECK_RETURN(tDecodeU64(pCoder, &pReq->suid));
+ TAOS_CHECK_RETURN(tDecodeI8(pCoder, &pReq->igNotExists));
tEndDecode(pCoder);
return 0;
}
static int32_t tEncodeSVDropTbRsp(SEncoder *pCoder, const SVDropTbRsp *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI32(pCoder, pReq->code) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pReq->code));
tEndEncode(pCoder);
return 0;
}
static int32_t tDecodeSVDropTbRsp(SDecoder *pCoder, SVDropTbRsp *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeI32(pCoder, &pReq->code) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeI32(pCoder, &pReq->code));
tEndDecode(pCoder);
return 0;
}
@@ -9418,12 +9942,11 @@ int32_t tEncodeSVDropTbBatchReq(SEncoder *pCoder, const SVDropTbBatchReq *pReq)
int32_t nReqs = taosArrayGetSize(pReq->pArray);
SVDropTbReq *pDropTbReq;
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI32v(pCoder, nReqs) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI32v(pCoder, nReqs));
for (int iReq = 0; iReq < nReqs; iReq++) {
pDropTbReq = (SVDropTbReq *)taosArrayGet(pReq->pArray, iReq);
- if (tEncodeSVDropTbReq(pCoder, pDropTbReq) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSVDropTbReq(pCoder, pDropTbReq));
}
tEndEncode(pCoder);
@@ -9431,13 +9954,14 @@ int32_t tEncodeSVDropTbBatchReq(SEncoder *pCoder, const SVDropTbBatchReq *pReq)
}
int32_t tDecodeSVDropTbBatchReq(SDecoder *pCoder, SVDropTbBatchReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeI32v(pCoder, &pReq->nReqs) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeI32v(pCoder, &pReq->nReqs));
pReq->pReqs = (SVDropTbReq *)tDecoderMalloc(pCoder, sizeof(SVDropTbReq) * pReq->nReqs);
- if (pReq->pReqs == NULL) return -1;
+ if (pReq->pReqs == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int iReq = 0; iReq < pReq->nReqs; iReq++) {
- if (tDecodeSVDropTbReq(pCoder, pReq->pReqs + iReq) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSVDropTbReq(pCoder, pReq->pReqs + iReq));
}
tEndDecode(pCoder);
@@ -9446,11 +9970,10 @@ int32_t tDecodeSVDropTbBatchReq(SDecoder *pCoder, SVDropTbBatchReq *pReq) {
int32_t tEncodeSVDropTbBatchRsp(SEncoder *pCoder, const SVDropTbBatchRsp *pRsp) {
int32_t nRsps = taosArrayGetSize(pRsp->pArray);
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeI32v(pCoder, nRsps) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI32v(pCoder, nRsps));
for (int iRsp = 0; iRsp < nRsps; iRsp++) {
- if (tEncodeSVDropTbRsp(pCoder, (SVDropTbRsp *)taosArrayGet(pRsp->pArray, iRsp)) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSVDropTbRsp(pCoder, (SVDropTbRsp *)taosArrayGet(pRsp->pArray, iRsp)));
}
tEndEncode(pCoder);
@@ -9458,13 +9981,14 @@ int32_t tEncodeSVDropTbBatchRsp(SEncoder *pCoder, const SVDropTbBatchRsp *pRsp)
}
int32_t tDecodeSVDropTbBatchRsp(SDecoder *pCoder, SVDropTbBatchRsp *pRsp) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeI32v(pCoder, &pRsp->nRsps) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeI32v(pCoder, &pRsp->nRsps));
pRsp->pRsps = (SVDropTbRsp *)tDecoderMalloc(pCoder, sizeof(SVDropTbRsp) * pRsp->nRsps);
- if (pRsp->pRsps == NULL) return -1;
+ if (pRsp->pRsps == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int iRsp = 0; iRsp < pRsp->nRsps; iRsp++) {
- if (tDecodeSVDropTbRsp(pCoder, pRsp->pRsps + iRsp) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSVDropTbRsp(pCoder, pRsp->pRsps + iRsp));
}
tEndDecode(pCoder);
@@ -9472,152 +9996,46 @@ int32_t tDecodeSVDropTbBatchRsp(SDecoder *pCoder, SVDropTbBatchRsp *pRsp) {
}
int32_t tEncodeSVDropStbReq(SEncoder *pCoder, const SVDropStbReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
-
- if (tEncodeCStr(pCoder, pReq->name) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->suid) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pReq->name));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->suid));
tEndEncode(pCoder);
return 0;
}
int32_t tDecodeSVDropStbReq(SDecoder *pCoder, SVDropStbReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
-
- if (tDecodeCStr(pCoder, &pReq->name) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->suid) < 0) return -1;
-
+ TAOS_CHECK_RETURN(tStartDecode(pCoder));
+ TAOS_CHECK_RETURN(tDecodeCStr(pCoder, &pReq->name));
+ TAOS_CHECK_RETURN(tDecodeI64(pCoder, &pReq->suid));
tEndDecode(pCoder);
return 0;
}
-// static int32_t tEncodeSVSubmitBlk(SEncoder *pCoder, const SVSubmitBlk *pBlock, int32_t flags) {
-// if (tStartEncode(pCoder) < 0) return -1;
-
-// if (tEncodeI64(pCoder, pBlock->suid) < 0) return -1;
-// if (tEncodeI64(pCoder, pBlock->uid) < 0) return -1;
-// if (tEncodeI32v(pCoder, pBlock->sver) < 0) return -1;
-// if (tEncodeBinary(pCoder, pBlock->pData, pBlock->nData) < 0) return -1;
-
-// if (flags & TD_AUTO_CREATE_TABLE) {
-// if (tEncodeSVCreateTbReq(pCoder, &pBlock->cTbReq) < 0) return -1;
-// }
-
-// tEndEncode(pCoder);
-// return 0;
-// }
-
-// static int32_t tDecodeSVSubmitBlk(SDecoder *pCoder, SVSubmitBlk *pBlock, int32_t flags) {
-// if (tStartDecode(pCoder) < 0) return -1;
-
-// if (tDecodeI64(pCoder, &pBlock->suid) < 0) return -1;
-// if (tDecodeI64(pCoder, &pBlock->uid) < 0) return -1;
-// if (tDecodeI32v(pCoder, &pBlock->sver) < 0) return -1;
-// if (tDecodeBinary(pCoder, &pBlock->pData, &pBlock->nData) < 0) return -1;
-
-// if (flags & TD_AUTO_CREATE_TABLE) {
-// if (tDecodeSVCreateTbReq(pCoder, &pBlock->cTbReq) < 0) return -1;
-// }
-
-// tEndDecode(pCoder);
-// return 0;
-// }
-
static int32_t tEncodeSSubmitBlkRsp(SEncoder *pEncoder, const SSubmitBlkRsp *pBlock) {
- if (tStartEncode(pEncoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+ TAOS_CHECK_EXIT(tStartEncode(pEncoder));
- if (tEncodeI32(pEncoder, pBlock->code) < 0) return -1;
- if (tEncodeI64(pEncoder, pBlock->uid) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pBlock->code));
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pBlock->uid));
if (pBlock->tblFName) {
- if (tEncodeCStr(pEncoder, pBlock->tblFName) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pBlock->tblFName));
} else {
- if (tEncodeCStr(pEncoder, "") < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, ""));
}
- if (tEncodeI32v(pEncoder, pBlock->numOfRows) < 0) return -1;
- if (tEncodeI32v(pEncoder, pBlock->affectedRows) < 0) return -1;
- if (tEncodeI64v(pEncoder, pBlock->sver) < 0) return -1;
- if (tEncodeI32(pEncoder, pBlock->pMeta ? 1 : 0) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pBlock->numOfRows));
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pBlock->affectedRows));
+ TAOS_CHECK_EXIT(tEncodeI64v(pEncoder, pBlock->sver));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pBlock->pMeta ? 1 : 0));
if (pBlock->pMeta) {
- if (tEncodeSTableMetaRsp(pEncoder, pBlock->pMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSTableMetaRsp(pEncoder, pBlock->pMeta));
}
tEndEncode(pEncoder);
- return 0;
+_exit:
+ return code;
}
-// static int32_t tDecodeSSubmitBlkRsp(SDecoder *pDecoder, SSubmitBlkRsp *pBlock) {
-// if (tStartDecode(pDecoder) < 0) return -1;
-
-// if (tDecodeI32(pDecoder, &pBlock->code) < 0) return -1;
-// if (tDecodeI64(pDecoder, &pBlock->uid) < 0) return -1;
-// pBlock->tblFName = taosMemoryCalloc(TSDB_TABLE_FNAME_LEN, 1);
-// if (NULL == pBlock->tblFName) return -1;
-// if (tDecodeCStrTo(pDecoder, pBlock->tblFName) < 0) return -1;
-// if (tDecodeI32v(pDecoder, &pBlock->numOfRows) < 0) return -1;
-// if (tDecodeI32v(pDecoder, &pBlock->affectedRows) < 0) return -1;
-// if (tDecodeI64v(pDecoder, &pBlock->sver) < 0) return -1;
-
-// int32_t meta = 0;
-// if (tDecodeI32(pDecoder, &meta) < 0) return -1;
-// if (meta) {
-// pBlock->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
-// if (NULL == pBlock->pMeta) return -1;
-// if (tDecodeSTableMetaRsp(pDecoder, pBlock->pMeta) < 0) return -1;
-// } else {
-// pBlock->pMeta = NULL;
-// }
-
-// tEndDecode(pDecoder);
-// return 0;
-// }
-
-// int32_t tEncodeSSubmitRsp(SEncoder *pEncoder, const SSubmitRsp *pRsp) {
-// int32_t nBlocks = taosArrayGetSize(pRsp->pArray);
-
-// if (tStartEncode(pEncoder) < 0) return -1;
-
-// if (tEncodeI32v(pEncoder, pRsp->numOfRows) < 0) return -1;
-// if (tEncodeI32v(pEncoder, pRsp->affectedRows) < 0) return -1;
-// if (tEncodeI32v(pEncoder, nBlocks) < 0) return -1;
-// for (int32_t iBlock = 0; iBlock < nBlocks; iBlock++) {
-// if (tEncodeSSubmitBlkRsp(pEncoder, (SSubmitBlkRsp *)taosArrayGet(pRsp->pArray, iBlock)) < 0) return -1;
-// }
-
-// tEndEncode(pEncoder);
-// return 0;
-// }
-
-// int32_t tDecodeSSubmitRsp(SDecoder *pDecoder, SSubmitRsp *pRsp) {
-// if (tStartDecode(pDecoder) < 0) return -1;
-
-// if (tDecodeI32v(pDecoder, &pRsp->numOfRows) < 0) return -1;
-// if (tDecodeI32v(pDecoder, &pRsp->affectedRows) < 0) return -1;
-// if (tDecodeI32v(pDecoder, &pRsp->nBlocks) < 0) return -1;
-// pRsp->pBlocks = taosMemoryCalloc(pRsp->nBlocks, sizeof(*pRsp->pBlocks));
-// if (pRsp->pBlocks == NULL) return -1;
-// for (int32_t iBlock = 0; iBlock < pRsp->nBlocks; iBlock++) {
-// if (tDecodeSSubmitBlkRsp(pDecoder, pRsp->pBlocks + iBlock) < 0) return -1;
-// }
-
-// tEndDecode(pDecoder);
-// tDecoderClear(pDecoder);
-// return 0;
-// }
-
-// void tFreeSSubmitBlkRsp(void *param) {
-// if (NULL == param) {
-// return;
-// }
-
-// SSubmitBlkRsp *pRsp = (SSubmitBlkRsp *)param;
-
-// taosMemoryFree(pRsp->tblFName);
-// if (pRsp->pMeta) {
-// taosMemoryFree(pRsp->pMeta->pSchemas);
-// taosMemoryFree(pRsp->pMeta);
-// }
-// }
-
void tFreeSSubmitRsp(SSubmitRsp *pRsp) {
if (NULL == pRsp) return;
@@ -9636,239 +10054,235 @@ void tFreeSSubmitRsp(SSubmitRsp *pRsp) {
}
int32_t tEncodeSVAlterTbReq(SEncoder *pEncoder, const SVAlterTbReq *pReq) {
- if (tStartEncode(pEncoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
- if (tEncodeCStr(pEncoder, pReq->tbName) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->action) < 0) return -1;
- if (tEncodeI32(pEncoder, pReq->colId) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartEncode(pEncoder));
+
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->tbName));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->action));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pReq->colId));
switch (pReq->action) {
case TSDB_ALTER_TABLE_ADD_COLUMN:
- if (tEncodeCStr(pEncoder, pReq->colName) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->type) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->flags) < 0) return -1;
- if (tEncodeI32v(pEncoder, pReq->bytes) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colName));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->type));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->flags));
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pReq->bytes));
break;
case TSDB_ALTER_TABLE_DROP_COLUMN:
- if (tEncodeCStr(pEncoder, pReq->colName) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colName));
break;
case TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES:
- if (tEncodeCStr(pEncoder, pReq->colName) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->colModType) < 0) return -1;
- if (tEncodeI32v(pEncoder, pReq->colModBytes) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colName));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->colModType));
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pReq->colModBytes));
break;
case TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME:
- if (tEncodeCStr(pEncoder, pReq->colName) < 0) return -1;
- if (tEncodeCStr(pEncoder, pReq->colNewName) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colName));
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colNewName));
break;
case TSDB_ALTER_TABLE_UPDATE_TAG_VAL:
- if (tEncodeCStr(pEncoder, pReq->tagName) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->isNull) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->tagType) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->tagName));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->isNull));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->tagType));
if (!pReq->isNull) {
- if (tEncodeBinary(pEncoder, pReq->pTagVal, pReq->nTagVal) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pEncoder, pReq->pTagVal, pReq->nTagVal));
}
break;
case TSDB_ALTER_TABLE_UPDATE_OPTIONS:
- if (tEncodeI8(pEncoder, pReq->updateTTL) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->updateTTL));
if (pReq->updateTTL) {
- if (tEncodeI32v(pEncoder, pReq->newTTL) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pReq->newTTL));
}
- if (tEncodeI32v(pEncoder, pReq->newCommentLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pReq->newCommentLen));
if (pReq->newCommentLen > 0) {
- if (tEncodeCStr(pEncoder, pReq->newComment) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->newComment));
}
break;
case TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS:
- if (tEncodeCStr(pEncoder, pReq->colName) < 0) return -1;
- if (tEncodeU32(pEncoder, pReq->compress) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colName));
+ TAOS_CHECK_EXIT(tEncodeU32(pEncoder, pReq->compress));
break;
case TSDB_ALTER_TABLE_ADD_COLUMN_WITH_COMPRESS_OPTION:
- if (tEncodeCStr(pEncoder, pReq->colName) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->type) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->flags) < 0) return -1;
- if (tEncodeI32v(pEncoder, pReq->bytes) < 0) return -1;
- if (tEncodeU32(pEncoder, pReq->compress) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, pReq->colName));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->type));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->flags));
+ TAOS_CHECK_EXIT(tEncodeI32v(pEncoder, pReq->bytes));
+ TAOS_CHECK_EXIT(tEncodeU32(pEncoder, pReq->compress));
break;
default:
break;
}
- if (tEncodeI64(pEncoder, pReq->ctimeMs) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->source) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pReq->ctimeMs));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->source));
tEndEncode(pEncoder);
- return 0;
+_exit:
+ return code;
}
static int32_t tDecodeSVAlterTbReqCommon(SDecoder *pDecoder, SVAlterTbReq *pReq) {
- if (tDecodeCStr(pDecoder, &pReq->tbName) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->action) < 0) return -1;
- if (tDecodeI32(pDecoder, &pReq->colId) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->tbName));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->action));
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pReq->colId));
switch (pReq->action) {
case TSDB_ALTER_TABLE_ADD_COLUMN:
- if (tDecodeCStr(pDecoder, &pReq->colName) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->type) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->flags) < 0) return -1;
- if (tDecodeI32v(pDecoder, &pReq->bytes) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colName));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->type));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->flags));
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pReq->bytes));
break;
case TSDB_ALTER_TABLE_DROP_COLUMN:
- if (tDecodeCStr(pDecoder, &pReq->colName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colName));
break;
case TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES:
- if (tDecodeCStr(pDecoder, &pReq->colName) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->colModType) < 0) return -1;
- if (tDecodeI32v(pDecoder, &pReq->colModBytes) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colName));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->colModType));
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pReq->colModBytes));
break;
case TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME:
- if (tDecodeCStr(pDecoder, &pReq->colName) < 0) return -1;
- if (tDecodeCStr(pDecoder, &pReq->colNewName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colName));
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colNewName));
break;
case TSDB_ALTER_TABLE_UPDATE_TAG_VAL:
- if (tDecodeCStr(pDecoder, &pReq->tagName) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->isNull) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->tagType) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->tagName));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->isNull));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->tagType));
if (!pReq->isNull) {
- if (tDecodeBinary(pDecoder, &pReq->pTagVal, &pReq->nTagVal) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeBinary(pDecoder, &pReq->pTagVal, &pReq->nTagVal));
}
break;
case TSDB_ALTER_TABLE_UPDATE_OPTIONS:
- if (tDecodeI8(pDecoder, &pReq->updateTTL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->updateTTL));
if (pReq->updateTTL) {
- if (tDecodeI32v(pDecoder, &pReq->newTTL) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pReq->newTTL));
}
- if (tDecodeI32v(pDecoder, &pReq->newCommentLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pReq->newCommentLen));
if (pReq->newCommentLen > 0) {
- if (tDecodeCStr(pDecoder, &pReq->newComment) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->newComment));
}
break;
case TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS:
- if (tDecodeCStr(pDecoder, &pReq->colName) < 0) return -1;
- if (tDecodeU32(pDecoder, &pReq->compress) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colName));
+ TAOS_CHECK_EXIT(tDecodeU32(pDecoder, &pReq->compress));
break;
case TSDB_ALTER_TABLE_ADD_COLUMN_WITH_COMPRESS_OPTION:
- if (tDecodeCStr(pDecoder, &pReq->colName) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->type) < 0) return -1;
- if (tDecodeI8(pDecoder, &pReq->flags) < 0) return -1;
- if (tDecodeI32v(pDecoder, &pReq->bytes) < 0) return -1;
- if (tDecodeU32(pDecoder, &pReq->compress) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pDecoder, &pReq->colName));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->type));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->flags));
+ TAOS_CHECK_EXIT(tDecodeI32v(pDecoder, &pReq->bytes));
+ TAOS_CHECK_EXIT(tDecodeU32(pDecoder, &pReq->compress));
default:
break;
}
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSVAlterTbReq(SDecoder *pDecoder, SVAlterTbReq *pReq) {
- if (tStartDecode(pDecoder) < 0) return -1;
- if (tDecodeSVAlterTbReqCommon(pDecoder, pReq) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartDecode(pDecoder));
+ TAOS_CHECK_EXIT(tDecodeSVAlterTbReqCommon(pDecoder, pReq));
pReq->ctimeMs = 0;
if (!tDecodeIsEnd(pDecoder)) {
- if (tDecodeI64(pDecoder, &pReq->ctimeMs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pReq->ctimeMs));
}
if (!tDecodeIsEnd(pDecoder)) {
- if (tDecodeI8(pDecoder, &pReq->source) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->source));
}
tEndDecode(pDecoder);
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSVAlterTbReqSetCtime(SDecoder *pDecoder, SVAlterTbReq *pReq, int64_t ctimeMs) {
- if (tStartDecode(pDecoder) < 0) return -1;
- if (tDecodeSVAlterTbReqCommon(pDecoder, pReq) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartDecode(pDecoder));
+ TAOS_CHECK_EXIT(tDecodeSVAlterTbReqCommon(pDecoder, pReq));
pReq->ctimeMs = 0;
if (!tDecodeIsEnd(pDecoder)) {
*(int64_t *)(pDecoder->data + pDecoder->pos) = ctimeMs;
- if (tDecodeI64(pDecoder, &pReq->ctimeMs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pReq->ctimeMs));
}
tEndDecode(pDecoder);
- return 0;
+_exit:
+ return code;
}
int32_t tEncodeSVAlterTbRsp(SEncoder *pEncoder, const SVAlterTbRsp *pRsp) {
- if (tStartEncode(pEncoder) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->code) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->pMeta ? 1 : 0) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartEncode(pEncoder));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->code));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->pMeta ? 1 : 0));
if (pRsp->pMeta) {
- if (tEncodeSTableMetaRsp(pEncoder, pRsp->pMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSTableMetaRsp(pEncoder, pRsp->pMeta));
}
tEndEncode(pEncoder);
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSVAlterTbRsp(SDecoder *pDecoder, SVAlterTbRsp *pRsp) {
int32_t meta = 0;
- if (tStartDecode(pDecoder) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->code) < 0) return -1;
- if (tDecodeI32(pDecoder, &meta) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+ TAOS_CHECK_EXIT(tStartDecode(pDecoder));
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->code));
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &meta));
if (meta) {
pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
if (NULL == pRsp->pMeta) return -1;
- if (tDecodeSTableMetaRsp(pDecoder, pRsp->pMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSTableMetaRsp(pDecoder, pRsp->pMeta));
}
tEndDecode(pDecoder);
- return 0;
+_exit:
+ return code;
}
-// int32_t tDeserializeSVAlterTbRsp(void *buf, int32_t bufLen, SVAlterTbRsp *pRsp) {
-// int32_t meta = 0;
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &pRsp->code) < 0) return -1;
-// if (tDecodeI32(&decoder, &meta) < 0) return -1;
-// if (meta) {
-// pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
-// if (NULL == pRsp->pMeta) return -1;
-// if (tDecodeSTableMetaRsp(&decoder, pRsp->pMeta) < 0) return -1;
-// }
-// tEndDecode(&decoder);
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
int32_t tEncodeSMAlterStbRsp(SEncoder *pEncoder, const SMAlterStbRsp *pRsp) {
- if (tStartEncode(pEncoder) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->pMeta->pSchemas ? 1 : 0) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartEncode(pEncoder));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->pMeta->pSchemas ? 1 : 0));
if (pRsp->pMeta->pSchemas) {
- if (tEncodeSTableMetaRsp(pEncoder, pRsp->pMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSTableMetaRsp(pEncoder, pRsp->pMeta));
}
tEndEncode(pEncoder);
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSMAlterStbRsp(SDecoder *pDecoder, SMAlterStbRsp *pRsp) {
int32_t meta = 0;
- if (tStartDecode(pDecoder) < 0) return -1;
- if (tDecodeI32(pDecoder, &meta) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartDecode(pDecoder));
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &meta));
if (meta) {
pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
if (NULL == pRsp->pMeta) return -1;
- if (tDecodeSTableMetaRsp(pDecoder, pRsp->pMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeSTableMetaRsp(pDecoder, pRsp->pMeta));
}
tEndDecode(pDecoder);
- return 0;
+_exit:
+ return code;
}
-// int32_t tDeserializeSMAlterStbRsp(void *buf, int32_t bufLen, SMAlterStbRsp *pRsp) {
-// int32_t meta = 0;
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &meta) < 0) return -1;
-// if (meta) {
-// pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
-// if (NULL == pRsp->pMeta) return -1;
-// if (tDecodeSTableMetaRsp(&decoder, pRsp->pMeta) < 0) return -1;
-// }
-// tEndDecode(&decoder);
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
void tFreeSMAlterStbRsp(SMAlterStbRsp *pRsp) {
if (NULL == pRsp) {
return;
@@ -9882,45 +10296,40 @@ void tFreeSMAlterStbRsp(SMAlterStbRsp *pRsp) {
}
int32_t tEncodeSMCreateStbRsp(SEncoder *pEncoder, const SMCreateStbRsp *pRsp) {
- if (tStartEncode(pEncoder) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->pMeta->pSchemas ? 1 : 0) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartEncode(pEncoder));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->pMeta->pSchemas ? 1 : 0));
if (pRsp->pMeta->pSchemas) {
- if (tEncodeSTableMetaRsp(pEncoder, pRsp->pMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSTableMetaRsp(pEncoder, pRsp->pMeta));
}
tEndEncode(pEncoder);
- return 0;
+
+_exit:
+ return code;
}
int32_t tDecodeSMCreateStbRsp(SDecoder *pDecoder, SMCreateStbRsp *pRsp) {
int32_t meta = 0;
- if (tStartDecode(pDecoder) < 0) return -1;
- if (tDecodeI32(pDecoder, &meta) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartDecode(pDecoder));
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &meta));
if (meta) {
pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
- if (NULL == pRsp->pMeta) return -1;
- if (tDecodeSTableMetaRsp(pDecoder, pRsp->pMeta) < 0) return -1;
+ if (NULL == pRsp->pMeta) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeSTableMetaRsp(pDecoder, pRsp->pMeta));
}
tEndDecode(pDecoder);
- return 0;
+
+_exit:
+ return code;
}
-// int32_t tDeserializeSMCreateStbRsp(void *buf, int32_t bufLen, SMCreateStbRsp *pRsp) {
-// int32_t meta = 0;
-// SDecoder decoder = {0};
-// tDecoderInit(&decoder, buf, bufLen);
-
-// if (tStartDecode(&decoder) < 0) return -1;
-// if (tDecodeI32(&decoder, &meta) < 0) return -1;
-// if (meta) {
-// pRsp->pMeta = taosMemoryCalloc(1, sizeof(STableMetaRsp));
-// if (NULL == pRsp->pMeta) return -1;
-// if (tDecodeSTableMetaRsp(&decoder, pRsp->pMeta) < 0) return -1;
-// }
-// tEndDecode(&decoder);
-// tDecoderClear(&decoder);
-// return 0;
-// }
-
void tFreeSMCreateStbRsp(SMCreateStbRsp *pRsp) {
if (NULL == pRsp) {
return;
@@ -9934,51 +10343,59 @@ void tFreeSMCreateStbRsp(SMCreateStbRsp *pRsp) {
}
int32_t tEncodeSTqOffsetVal(SEncoder *pEncoder, const STqOffsetVal *pOffsetVal) {
+ int32_t code = 0;
+ int32_t lino;
+
int8_t type = pOffsetVal->type < 0 ? pOffsetVal->type : (TQ_OFFSET_VERSION << 4) | pOffsetVal->type;
- if (tEncodeI8(pEncoder, type) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, type));
if (pOffsetVal->type == TMQ_OFFSET__SNAPSHOT_DATA || pOffsetVal->type == TMQ_OFFSET__SNAPSHOT_META) {
- if (tEncodeI64(pEncoder, pOffsetVal->uid) < 0) return -1;
- if (tEncodeI64(pEncoder, pOffsetVal->ts) < 0) return -1;
- if (tEncodeI8(pEncoder, pOffsetVal->primaryKey.type) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pOffsetVal->uid));
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pOffsetVal->ts));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pOffsetVal->primaryKey.type));
if (IS_VAR_DATA_TYPE(pOffsetVal->primaryKey.type)) {
- if (tEncodeBinary(pEncoder, pOffsetVal->primaryKey.pData, pOffsetVal->primaryKey.nData) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pEncoder, pOffsetVal->primaryKey.pData, pOffsetVal->primaryKey.nData));
} else {
- if (tEncodeI64(pEncoder, pOffsetVal->primaryKey.val) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pOffsetVal->primaryKey.val));
}
} else if (pOffsetVal->type == TMQ_OFFSET__LOG) {
- if (tEncodeI64(pEncoder, pOffsetVal->version) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pOffsetVal->version));
} else {
// do nothing
}
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSTqOffsetVal(SDecoder *pDecoder, STqOffsetVal *pOffsetVal) {
- if (tDecodeI8(pDecoder, &pOffsetVal->type) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pOffsetVal->type));
int8_t offsetVersion = 0;
if (pOffsetVal->type > 0) {
offsetVersion = (pOffsetVal->type >> 4);
pOffsetVal->type = pOffsetVal->type & 0x0F;
}
if (pOffsetVal->type == TMQ_OFFSET__SNAPSHOT_DATA || pOffsetVal->type == TMQ_OFFSET__SNAPSHOT_META) {
- if (tDecodeI64(pDecoder, &pOffsetVal->uid) < 0) return -1;
- if (tDecodeI64(pDecoder, &pOffsetVal->ts) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pOffsetVal->uid));
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pOffsetVal->ts));
if (offsetVersion >= TQ_OFFSET_VERSION) {
- if (tDecodeI8(pDecoder, &pOffsetVal->primaryKey.type) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pOffsetVal->primaryKey.type));
if (IS_VAR_DATA_TYPE(pOffsetVal->primaryKey.type)) {
if (tDecodeBinaryAlloc32(pDecoder, (void **)&pOffsetVal->primaryKey.pData, &pOffsetVal->primaryKey.nData) < 0)
return -1;
} else {
- if (tDecodeI64(pDecoder, &pOffsetVal->primaryKey.val) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pOffsetVal->primaryKey.val));
}
}
} else if (pOffsetVal->type == TMQ_OFFSET__LOG) {
- if (tDecodeI64(pDecoder, &pOffsetVal->version) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pOffsetVal->version));
} else {
// do nothing
}
- return 0;
+_exit:
+ return code;
}
void tFormatOffset(char *buf, int32_t maxLen, const STqOffsetVal *pVal) {
@@ -10050,250 +10467,294 @@ void tDeleteSTqOffset(void *param) {
}
int32_t tEncodeSTqOffset(SEncoder *pEncoder, const STqOffset *pOffset) {
- if (tEncodeSTqOffsetVal(pEncoder, &pOffset->val) < 0) return -1;
- if (tEncodeCStr(pEncoder, pOffset->subKey) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSTqOffsetVal(pEncoder, &pOffset->val));
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pOffset->subKey));
return 0;
}
int32_t tDecodeSTqOffset(SDecoder *pDecoder, STqOffset *pOffset) {
- if (tDecodeSTqOffsetVal(pDecoder, &pOffset->val) < 0) return -1;
- if (tDecodeCStrTo(pDecoder, pOffset->subKey) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSTqOffsetVal(pDecoder, &pOffset->val));
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pOffset->subKey));
return 0;
}
int32_t tEncodeMqVgOffset(SEncoder *pEncoder, const SMqVgOffset *pOffset) {
- if (tEncodeSTqOffset(pEncoder, &pOffset->offset) < 0) return -1;
- if (tEncodeI64(pEncoder, pOffset->consumerId) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeSTqOffset(pEncoder, &pOffset->offset));
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, pOffset->consumerId));
return 0;
}
int32_t tDecodeMqVgOffset(SDecoder *pDecoder, SMqVgOffset *pOffset) {
- if (tDecodeSTqOffset(pDecoder, &pOffset->offset) < 0) return -1;
- if (tDecodeI64(pDecoder, &pOffset->consumerId) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSTqOffset(pDecoder, &pOffset->offset));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pOffset->consumerId));
return 0;
}
int32_t tEncodeSTqCheckInfo(SEncoder *pEncoder, const STqCheckInfo *pInfo) {
- if (tEncodeCStr(pEncoder, pInfo->topic) < 0) return -1;
- if (tEncodeI64(pEncoder, pInfo->ntbUid) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pInfo->topic));
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, pInfo->ntbUid));
int32_t sz = taosArrayGetSize(pInfo->colIdList);
- if (tEncodeI32(pEncoder, sz) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI32(pEncoder, sz));
for (int32_t i = 0; i < sz; i++) {
int16_t colId = *(int16_t *)taosArrayGet(pInfo->colIdList, i);
- if (tEncodeI16(pEncoder, colId) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI16(pEncoder, colId));
}
return pEncoder->pos;
}
int32_t tDecodeSTqCheckInfo(SDecoder *pDecoder, STqCheckInfo *pInfo) {
- if (tDecodeCStrTo(pDecoder, pInfo->topic) < 0) return -1;
- if (tDecodeI64(pDecoder, &pInfo->ntbUid) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pInfo->topic));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pInfo->ntbUid));
int32_t sz = 0;
- if (tDecodeI32(pDecoder, &sz) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI32(pDecoder, &sz));
pInfo->colIdList = taosArrayInit(sz, sizeof(int16_t));
- if (pInfo->colIdList == NULL) return -1;
+ if (pInfo->colIdList == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
for (int32_t i = 0; i < sz; i++) {
int16_t colId = 0;
- if (tDecodeI16(pDecoder, &colId) < 0) return -1;
- if (taosArrayPush(pInfo->colIdList, &colId) == NULL) return -1;
+ TAOS_CHECK_RETURN(tDecodeI16(pDecoder, &colId));
+ if (taosArrayPush(pInfo->colIdList, &colId) == NULL) {
+ TAOS_CHECK_RETURN(terrno);
+ }
}
return 0;
}
void tDeleteSTqCheckInfo(STqCheckInfo *pInfo) { taosArrayDestroy(pInfo->colIdList); }
int32_t tEncodeSMqRebVgReq(SEncoder *pCoder, const SMqRebVgReq *pReq) {
- if (tStartEncode(pCoder) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->leftForVer) < 0) return -1;
- if (tEncodeI32(pCoder, pReq->vgId) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->oldConsumerId) < 0) return -1;
- if (tEncodeI64(pCoder, pReq->newConsumerId) < 0) return -1;
- if (tEncodeCStr(pCoder, pReq->subKey) < 0) return -1;
- if (tEncodeI8(pCoder, pReq->subType) < 0) return -1;
- if (tEncodeI8(pCoder, pReq->withMeta) < 0) return -1;
+ TAOS_CHECK_RETURN(tStartEncode(pCoder));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->leftForVer));
+ TAOS_CHECK_RETURN(tEncodeI32(pCoder, pReq->vgId));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->oldConsumerId));
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->newConsumerId));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pReq->subKey));
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pReq->subType));
+ TAOS_CHECK_RETURN(tEncodeI8(pCoder, pReq->withMeta));
if (pReq->subType == TOPIC_SUB_TYPE__COLUMN) {
- if (tEncodeCStr(pCoder, pReq->qmsg) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pReq->qmsg));
} else if (pReq->subType == TOPIC_SUB_TYPE__TABLE) {
- if (tEncodeI64(pCoder, pReq->suid) < 0) return -1;
- if (tEncodeCStr(pCoder, pReq->qmsg) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeI64(pCoder, pReq->suid));
+ TAOS_CHECK_RETURN(tEncodeCStr(pCoder, pReq->qmsg));
}
tEndEncode(pCoder);
return 0;
}
int32_t tDecodeSMqRebVgReq(SDecoder *pCoder, SMqRebVgReq *pReq) {
- if (tStartDecode(pCoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
- if (tDecodeI64(pCoder, &pReq->leftForVer) < 0) return -1;
+ TAOS_CHECK_EXIT(tStartDecode(pCoder));
- if (tDecodeI32(pCoder, &pReq->vgId) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->oldConsumerId) < 0) return -1;
- if (tDecodeI64(pCoder, &pReq->newConsumerId) < 0) return -1;
- if (tDecodeCStrTo(pCoder, pReq->subKey) < 0) return -1;
- if (tDecodeI8(pCoder, &pReq->subType) < 0) return -1;
- if (tDecodeI8(pCoder, &pReq->withMeta) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->leftForVer));
+
+ TAOS_CHECK_EXIT(tDecodeI32(pCoder, &pReq->vgId));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->oldConsumerId));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->newConsumerId));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(pCoder, pReq->subKey));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pReq->subType));
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pReq->withMeta));
if (pReq->subType == TOPIC_SUB_TYPE__COLUMN) {
- if (tDecodeCStr(pCoder, &pReq->qmsg) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pReq->qmsg));
} else if (pReq->subType == TOPIC_SUB_TYPE__TABLE) {
- if (tDecodeI64(pCoder, &pReq->suid) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pReq->suid));
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeCStr(pCoder, &pReq->qmsg) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStr(pCoder, &pReq->qmsg));
}
}
tEndDecode(pCoder);
- return 0;
+_exit:
+ return code;
}
int32_t tEncodeDeleteRes(SEncoder *pCoder, const SDeleteRes *pRes) {
int32_t nUid = taosArrayGetSize(pRes->uidList);
+ int32_t code = 0;
+ int32_t lino;
- if (tEncodeU64(pCoder, pRes->suid) < 0) return -1;
- if (tEncodeI32v(pCoder, nUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(pCoder, pRes->suid));
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, nUid));
for (int32_t iUid = 0; iUid < nUid; iUid++) {
- if (tEncodeU64(pCoder, *(uint64_t *)taosArrayGet(pRes->uidList, iUid)) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64(pCoder, *(uint64_t *)taosArrayGet(pRes->uidList, iUid)));
}
- if (tEncodeI64(pCoder, pRes->skey) < 0) return -1;
- if (tEncodeI64(pCoder, pRes->ekey) < 0) return -1;
- if (tEncodeI64v(pCoder, pRes->affectedRows) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pRes->skey));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pRes->ekey));
+ TAOS_CHECK_EXIT(tEncodeI64v(pCoder, pRes->affectedRows));
- if (tEncodeCStr(pCoder, pRes->tableFName) < 0) return -1;
- if (tEncodeCStr(pCoder, pRes->tsColName) < 0) return -1;
- if (tEncodeI64(pCoder, pRes->ctimeMs) < 0) return -1;
- if (tEncodeI8(pCoder, pRes->source) < 0) return -1;
- return 0;
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, pRes->tableFName));
+ TAOS_CHECK_EXIT(tEncodeCStr(pCoder, pRes->tsColName));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pRes->ctimeMs));
+ TAOS_CHECK_EXIT(tEncodeI8(pCoder, pRes->source));
+
+_exit:
+ return code;
}
int32_t tDecodeDeleteRes(SDecoder *pCoder, SDeleteRes *pRes) {
int32_t nUid;
uint64_t uid;
+ int32_t code = 0;
+ int32_t lino;
- if (tDecodeU64(pCoder, &pRes->suid) < 0) return -1;
- if (tDecodeI32v(pCoder, &nUid) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(pCoder, &pRes->suid));
+ TAOS_CHECK_EXIT(tDecodeI32v(pCoder, &nUid));
for (int32_t iUid = 0; iUid < nUid; iUid++) {
- if (tDecodeU64(pCoder, &uid) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeU64(pCoder, &uid));
if (pRes->uidList) {
- if (taosArrayPush(pRes->uidList, &uid) == NULL) return -1;
+ if (taosArrayPush(pRes->uidList, &uid) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
}
- if (tDecodeI64(pCoder, &pRes->skey) < 0) return -1;
- if (tDecodeI64(pCoder, &pRes->ekey) < 0) return -1;
- if (tDecodeI64v(pCoder, &pRes->affectedRows) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pRes->skey));
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pRes->ekey));
+ TAOS_CHECK_EXIT(tDecodeI64v(pCoder, &pRes->affectedRows));
- if (tDecodeCStrTo(pCoder, pRes->tableFName) < 0) return -1;
- if (tDecodeCStrTo(pCoder, pRes->tsColName) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrTo(pCoder, pRes->tableFName));
+ TAOS_CHECK_EXIT(tDecodeCStrTo(pCoder, pRes->tsColName));
pRes->ctimeMs = 0;
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeI64(pCoder, &pRes->ctimeMs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pCoder, &pRes->ctimeMs));
}
if (!tDecodeIsEnd(pCoder)) {
- if (tDecodeI8(pCoder, &pRes->source) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pCoder, &pRes->source));
}
- return 0;
+
+_exit:
+ return code;
}
int32_t tEncodeMqMetaRsp(SEncoder *pEncoder, const SMqMetaRsp *pRsp) {
- if (tEncodeSTqOffsetVal(pEncoder, &pRsp->rspOffset) < 0) return -1;
- if (tEncodeI16(pEncoder, pRsp->resMsgType)) return -1;
- if (tEncodeBinary(pEncoder, pRsp->metaRsp, pRsp->metaRspLen)) return -1;
+ TAOS_CHECK_RETURN(tEncodeSTqOffsetVal(pEncoder, &pRsp->rspOffset));
+ TAOS_CHECK_RETURN(tEncodeI16(pEncoder, pRsp->resMsgType));
+ TAOS_CHECK_RETURN(tEncodeBinary(pEncoder, pRsp->metaRsp, pRsp->metaRspLen));
return 0;
}
int32_t tDecodeMqMetaRsp(SDecoder *pDecoder, SMqMetaRsp *pRsp) {
- if (tDecodeSTqOffsetVal(pDecoder, &pRsp->rspOffset) < 0) return -1;
- if (tDecodeI16(pDecoder, &pRsp->resMsgType) < 0) return -1;
- if (tDecodeBinaryAlloc(pDecoder, &pRsp->metaRsp, (uint64_t *)&pRsp->metaRspLen) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeSTqOffsetVal(pDecoder, &pRsp->rspOffset));
+ TAOS_CHECK_RETURN(tDecodeI16(pDecoder, &pRsp->resMsgType));
+ TAOS_CHECK_RETURN(tDecodeBinaryAlloc(pDecoder, &pRsp->metaRsp, (uint64_t *)&pRsp->metaRspLen));
return 0;
}
void tDeleteMqMetaRsp(SMqMetaRsp *pRsp) { taosMemoryFree(pRsp->metaRsp); }
int32_t tEncodeMqDataRspCommon(SEncoder *pEncoder, const SMqDataRspCommon *pRsp) {
- if (tEncodeSTqOffsetVal(pEncoder, &pRsp->reqOffset) < 0) return -1;
- if (tEncodeSTqOffsetVal(pEncoder, &pRsp->rspOffset) < 0) return -1;
- if (tEncodeI32(pEncoder, pRsp->blockNum) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tEncodeSTqOffsetVal(pEncoder, &pRsp->reqOffset));
+ TAOS_CHECK_EXIT(tEncodeSTqOffsetVal(pEncoder, &pRsp->rspOffset));
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->blockNum));
if (pRsp->blockNum != 0) {
- if (tEncodeI8(pEncoder, pRsp->withTbName) < 0) return -1;
- if (tEncodeI8(pEncoder, pRsp->withSchema) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pRsp->withTbName));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pRsp->withSchema));
for (int32_t i = 0; i < pRsp->blockNum; i++) {
int32_t bLen = *(int32_t *)taosArrayGet(pRsp->blockDataLen, i);
void *data = taosArrayGetP(pRsp->blockData, i);
- if (tEncodeBinary(pEncoder, (const uint8_t *)data, bLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pEncoder, (const uint8_t *)data, bLen));
if (pRsp->withSchema) {
SSchemaWrapper *pSW = (SSchemaWrapper *)taosArrayGetP(pRsp->blockSchema, i);
- if (tEncodeSSchemaWrapper(pEncoder, pSW) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSSchemaWrapper(pEncoder, pSW));
}
if (pRsp->withTbName) {
char *tbName = (char *)taosArrayGetP(pRsp->blockTbName, i);
- if (tEncodeCStr(pEncoder, tbName) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeCStr(pEncoder, tbName));
}
}
}
- return 0;
+
+_exit:
+ return code;
}
int32_t tEncodeMqDataRsp(SEncoder *pEncoder, const void *pRsp) {
- if (tEncodeMqDataRspCommon(pEncoder, pRsp) < 0) return -1;
- if (tEncodeI64(pEncoder, ((SMqDataRsp *)pRsp)->sleepTime) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeMqDataRspCommon(pEncoder, pRsp));
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, ((SMqDataRsp *)pRsp)->sleepTime));
return 0;
}
int32_t tDecodeMqDataRspCommon(SDecoder *pDecoder, SMqDataRspCommon *pRsp) {
- if (tDecodeSTqOffsetVal(pDecoder, &pRsp->reqOffset) < 0) return -1;
- if (tDecodeSTqOffsetVal(pDecoder, &pRsp->rspOffset) < 0) return -1;
- if (tDecodeI32(pDecoder, &pRsp->blockNum) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeSTqOffsetVal(pDecoder, &pRsp->reqOffset));
+ TAOS_CHECK_EXIT(tDecodeSTqOffsetVal(pDecoder, &pRsp->rspOffset));
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->blockNum));
if (pRsp->blockNum != 0) {
- if ((pRsp->blockData = taosArrayInit(pRsp->blockNum, sizeof(void *))) == NULL) return -1;
- if ((pRsp->blockDataLen = taosArrayInit(pRsp->blockNum, sizeof(int32_t))) == NULL) return -1;
- if (tDecodeI8(pDecoder, &pRsp->withTbName) < 0) return -1;
- if (tDecodeI8(pDecoder, &pRsp->withSchema) < 0) return -1;
+ if ((pRsp->blockData = taosArrayInit(pRsp->blockNum, sizeof(void *))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ if ((pRsp->blockDataLen = taosArrayInit(pRsp->blockNum, sizeof(int32_t))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pRsp->withTbName));
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pRsp->withSchema));
if (pRsp->withTbName) {
- if ((pRsp->blockTbName = taosArrayInit(pRsp->blockNum, sizeof(void *))) == NULL) return -1;
+ if ((pRsp->blockTbName = taosArrayInit(pRsp->blockNum, sizeof(void *))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
if (pRsp->withSchema) {
- if ((pRsp->blockSchema = taosArrayInit(pRsp->blockNum, sizeof(void *))) == NULL) return -1;
+ if ((pRsp->blockSchema = taosArrayInit(pRsp->blockNum, sizeof(void *))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
for (int32_t i = 0; i < pRsp->blockNum; i++) {
void *data;
uint64_t bLen;
- if (tDecodeBinaryAlloc(pDecoder, &data, &bLen) < 0) return -1;
- if (taosArrayPush(pRsp->blockData, &data) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeBinaryAlloc(pDecoder, &data, &bLen));
+ if (taosArrayPush(pRsp->blockData, &data) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
int32_t len = bLen;
- if (taosArrayPush(pRsp->blockDataLen, &len) == NULL) return -1;
+ if (taosArrayPush(pRsp->blockDataLen, &len) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
if (pRsp->withSchema) {
SSchemaWrapper *pSW = (SSchemaWrapper *)taosMemoryCalloc(1, sizeof(SSchemaWrapper));
- if (pSW == NULL) return -1;
- if (tDecodeSSchemaWrapper(pDecoder, pSW) < 0) {
+ if (pSW == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+
+ if ((code = tDecodeSSchemaWrapper(pDecoder, pSW))) {
taosMemoryFree(pSW);
- return -1;
+ goto _exit;
}
if (taosArrayPush(pRsp->blockSchema, &pSW) == NULL) {
taosMemoryFree(pSW);
- return -1;
+ TAOS_CHECK_EXIT(terrno);
}
}
if (pRsp->withTbName) {
char *tbName;
- if (tDecodeCStrAlloc(pDecoder, &tbName) < 0) return -1;
- if (taosArrayPush(pRsp->blockTbName, &tbName) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeCStrAlloc(pDecoder, &tbName));
+ if (taosArrayPush(pRsp->blockTbName, &tbName) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
}
}
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeMqDataRsp(SDecoder *pDecoder, void *pRsp) {
- if (tDecodeMqDataRspCommon(pDecoder, pRsp) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeMqDataRspCommon(pDecoder, pRsp));
if (!tDecodeIsEnd(pDecoder)) {
- if (tDecodeI64(pDecoder, &((SMqDataRsp *)pRsp)->sleepTime) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &((SMqDataRsp *)pRsp)->sleepTime));
}
return 0;
@@ -10316,39 +10777,55 @@ static void tDeleteMqDataRspCommon(void *rsp) {
void tDeleteMqDataRsp(void *rsp) { tDeleteMqDataRspCommon(rsp); }
int32_t tEncodeSTaosxRsp(SEncoder *pEncoder, const void *rsp) {
- if (tEncodeMqDataRspCommon(pEncoder, rsp) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tEncodeMqDataRspCommon(pEncoder, rsp));
const STaosxRsp *pRsp = (const STaosxRsp *)rsp;
- if (tEncodeI32(pEncoder, pRsp->createTableNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, pRsp->createTableNum));
if (pRsp->createTableNum) {
for (int32_t i = 0; i < pRsp->createTableNum; i++) {
void *createTableReq = taosArrayGetP(pRsp->createTableReq, i);
int32_t createTableLen = *(int32_t *)taosArrayGet(pRsp->createTableLen, i);
- if (tEncodeBinary(pEncoder, createTableReq, createTableLen) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeBinary(pEncoder, createTableReq, createTableLen));
}
}
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSTaosxRsp(SDecoder *pDecoder, void *rsp) {
- if (tDecodeMqDataRspCommon(pDecoder, rsp) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeMqDataRspCommon(pDecoder, rsp));
STaosxRsp *pRsp = (STaosxRsp *)rsp;
- if (tDecodeI32(pDecoder, &pRsp->createTableNum) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &pRsp->createTableNum));
if (pRsp->createTableNum) {
- if ((pRsp->createTableLen = taosArrayInit(pRsp->createTableNum, sizeof(int32_t))) == NULL) return -1;
- if ((pRsp->createTableReq = taosArrayInit(pRsp->createTableNum, sizeof(void *))) == NULL) return -1;
+ if ((pRsp->createTableLen = taosArrayInit(pRsp->createTableNum, sizeof(int32_t))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ if ((pRsp->createTableReq = taosArrayInit(pRsp->createTableNum, sizeof(void *))) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < pRsp->createTableNum; 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->createTableLen, &l) == NULL) return -1;
- if (taosArrayPush(pRsp->createTableReq, &pCreate) == NULL) return -1;
+ if (taosArrayPush(pRsp->createTableLen, &l) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
+ if (taosArrayPush(pRsp->createTableReq, &pCreate) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
}
- return 0;
+_exit:
+ return code;
}
void tDeleteSTaosxRsp(void *rsp) {
@@ -10362,101 +10839,126 @@ void tDeleteSTaosxRsp(void *rsp) {
}
int32_t tEncodeSSingleDeleteReq(SEncoder *pEncoder, const SSingleDeleteReq *pReq) {
- if (tEncodeCStr(pEncoder, pReq->tbname) < 0) return -1;
- if (tEncodeI64(pEncoder, pReq->startTs) < 0) return -1;
- if (tEncodeI64(pEncoder, pReq->endTs) < 0) return -1;
+ TAOS_CHECK_RETURN(tEncodeCStr(pEncoder, pReq->tbname));
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, pReq->startTs));
+ TAOS_CHECK_RETURN(tEncodeI64(pEncoder, pReq->endTs));
return 0;
}
int32_t tDecodeSSingleDeleteReq(SDecoder *pDecoder, SSingleDeleteReq *pReq) {
- if (tDecodeCStrTo(pDecoder, pReq->tbname) < 0) return -1;
- if (tDecodeI64(pDecoder, &pReq->startTs) < 0) return -1;
- if (tDecodeI64(pDecoder, &pReq->endTs) < 0) return -1;
+ TAOS_CHECK_RETURN(tDecodeCStrTo(pDecoder, pReq->tbname));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pReq->startTs));
+ TAOS_CHECK_RETURN(tDecodeI64(pDecoder, &pReq->endTs));
return 0;
}
int32_t tEncodeSBatchDeleteReq(SEncoder *pEncoder, const SBatchDeleteReq *pReq) {
- if (tEncodeI64(pEncoder, pReq->suid) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pReq->suid));
int32_t sz = taosArrayGetSize(pReq->deleteReqs);
- if (tEncodeI32(pEncoder, sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32(pEncoder, sz));
for (int32_t i = 0; i < sz; i++) {
SSingleDeleteReq *pOneReq = taosArrayGet(pReq->deleteReqs, i);
- if (tEncodeSSingleDeleteReq(pEncoder, pOneReq) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSSingleDeleteReq(pEncoder, pOneReq));
}
- if (tEncodeI64(pEncoder, pReq->ctimeMs) < 0) return -1;
- if (tEncodeI8(pEncoder, pReq->level) < 0) return -1;
- return 0;
+ TAOS_CHECK_EXIT(tEncodeI64(pEncoder, pReq->ctimeMs));
+ TAOS_CHECK_EXIT(tEncodeI8(pEncoder, pReq->level));
+_exit:
+ return code;
}
static int32_t tDecodeSBatchDeleteReqCommon(SDecoder *pDecoder, SBatchDeleteReq *pReq) {
- if (tDecodeI64(pDecoder, &pReq->suid) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pReq->suid));
int32_t sz;
- if (tDecodeI32(pDecoder, &sz) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI32(pDecoder, &sz));
pReq->deleteReqs = taosArrayInit(0, sizeof(SSingleDeleteReq));
- if (pReq->deleteReqs == NULL) return -1;
+ if (pReq->deleteReqs == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
for (int32_t i = 0; i < sz; i++) {
SSingleDeleteReq deleteReq;
- if (tDecodeSSingleDeleteReq(pDecoder, &deleteReq) < 0) return -1;
- if (taosArrayPush(pReq->deleteReqs, &deleteReq) == NULL) return -1;
+ TAOS_CHECK_EXIT(tDecodeSSingleDeleteReq(pDecoder, &deleteReq));
+ if (taosArrayPush(pReq->deleteReqs, &deleteReq) == NULL) {
+ TAOS_CHECK_EXIT(terrno);
+ }
}
- return 0;
+_exit:
+ return code;
}
int32_t tDecodeSBatchDeleteReq(SDecoder *pDecoder, SBatchDeleteReq *pReq) {
- if (tDecodeSBatchDeleteReqCommon(pDecoder, pReq)) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeSBatchDeleteReqCommon(pDecoder, pReq));
pReq->ctimeMs = 0;
if (!tDecodeIsEnd(pDecoder)) {
- if (tDecodeI64(pDecoder, &pReq->ctimeMs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pReq->ctimeMs));
}
if (!tDecodeIsEnd(pDecoder)) {
- if (tDecodeI8(pDecoder, &pReq->level) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI8(pDecoder, &pReq->level));
}
- return 0;
+
+_exit:
+ return code;
}
int32_t tDecodeSBatchDeleteReqSetCtime(SDecoder *pDecoder, SBatchDeleteReq *pReq, int64_t ctimeMs) {
- if (tDecodeSBatchDeleteReqCommon(pDecoder, pReq)) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tDecodeSBatchDeleteReqCommon(pDecoder, pReq));
pReq->ctimeMs = 0;
if (!tDecodeIsEnd(pDecoder)) {
*(int64_t *)(pDecoder->data + pDecoder->pos) = ctimeMs;
- if (tDecodeI64(pDecoder, &pReq->ctimeMs) < 0) return -1;
+ TAOS_CHECK_EXIT(tDecodeI64(pDecoder, &pReq->ctimeMs));
}
- return 0;
+
+_exit:
+ return code;
}
static int32_t tEncodeSSubmitTbData(SEncoder *pCoder, const SSubmitTbData *pSubmitTbData) {
- if (tStartEncode(pCoder) < 0) return -1;
+ int32_t code = 0;
+ int32_t lino;
+
+ TAOS_CHECK_EXIT(tStartEncode(pCoder));
int32_t flags = pSubmitTbData->flags | ((SUBMIT_REQUEST_VERSION) << 8);
- if (tEncodeI32v(pCoder, flags) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, flags));
// auto create table
if (pSubmitTbData->flags & SUBMIT_REQ_AUTO_CREATE_TABLE) {
if (!(pSubmitTbData->pCreateTbReq)) {
return TSDB_CODE_INVALID_MSG;
}
- if (tEncodeSVCreateTbReq(pCoder, pSubmitTbData->pCreateTbReq) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeSVCreateTbReq(pCoder, pSubmitTbData->pCreateTbReq));
}
// submit data
- if (tEncodeI64(pCoder, pSubmitTbData->suid) < 0) return -1;
- if (tEncodeI64(pCoder, pSubmitTbData->uid) < 0) return -1;
- if (tEncodeI32v(pCoder, pSubmitTbData->sver) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pSubmitTbData->suid));
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pSubmitTbData->uid));
+ TAOS_CHECK_EXIT(tEncodeI32v(pCoder, pSubmitTbData->sver));
if (pSubmitTbData->flags & SUBMIT_REQ_COLUMN_DATA_FORMAT) {
uint64_t nColData = TARRAY_SIZE(pSubmitTbData->aCol);
SColData *aColData = (SColData *)TARRAY_DATA(pSubmitTbData->aCol);
- if (tEncodeU64v(pCoder, nColData) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64v(pCoder, nColData));
for (uint64_t i = 0; i < nColData; i++) {
pCoder->pos +=
tPutColData(SUBMIT_REQUEST_VERSION, pCoder->data ? pCoder->data + pCoder->pos : NULL, &aColData[i]);
}
} else {
- if (tEncodeU64v(pCoder, TARRAY_SIZE(pSubmitTbData->aRowP)) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeU64v(pCoder, TARRAY_SIZE(pSubmitTbData->aRowP)));
SRow **rows = (SRow **)TARRAY_DATA(pSubmitTbData->aRowP);
for (int32_t iRow = 0; iRow < TARRAY_SIZE(pSubmitTbData->aRowP); ++iRow) {
@@ -10464,23 +10966,21 @@ static int32_t tEncodeSSubmitTbData(SEncoder *pCoder, const SSubmitTbData *pSubm
pCoder->pos += rows[iRow]->len;
}
}
- if (tEncodeI64(pCoder, pSubmitTbData->ctimeMs) < 0) return -1;
+ TAOS_CHECK_EXIT(tEncodeI64(pCoder, pSubmitTbData->ctimeMs));
tEndEncode(pCoder);
- return 0;
+_exit:
+ return code;
}
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;
@@ -10488,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) {
@@ -10530,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;
@@ -10551,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) {
@@ -10684,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) {
@@ -10777,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) {
@@ -10872,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) {
@@ -10939,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) {
@@ -10981,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) {
@@ -11090,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) {
@@ -11159,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) {
@@ -11396,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) {
@@ -11528,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) {
@@ -11568,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) {
@@ -11599,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) {
diff --git a/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h b/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h
index be9ff56674..18b3f66a60 100644
--- a/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h
+++ b/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h
@@ -23,26 +23,27 @@ extern "C" {
#endif
typedef struct SDnodeMgmt {
- SDnodeData *pData;
- SMsgCb msgCb;
- const char *path;
- const char *name;
- TdThread statusThread;
- TdThread notifyThread;
- TdThread monitorThread;
- TdThread auditThread;
- TdThread crashReportThread;
- SSingleWorker mgmtWorker;
- ProcessCreateNodeFp processCreateNodeFp;
- ProcessAlterNodeTypeFp processAlterNodeTypeFp;
- ProcessDropNodeFp processDropNodeFp;
- SendMonitorReportFp sendMonitorReportFp;
- SendAuditRecordsFp sendAuditRecordsFp;
- GetVnodeLoadsFp getVnodeLoadsFp;
- GetVnodeLoadsFp getVnodeLoadsLiteFp;
- GetMnodeLoadsFp getMnodeLoadsFp;
- GetQnodeLoadsFp getQnodeLoadsFp;
- int32_t statusSeq;
+ SDnodeData *pData;
+ SMsgCb msgCb;
+ const char *path;
+ const char *name;
+ TdThread statusThread;
+ TdThread notifyThread;
+ TdThread monitorThread;
+ TdThread auditThread;
+ TdThread crashReportThread;
+ SSingleWorker mgmtWorker;
+ ProcessCreateNodeFp processCreateNodeFp;
+ ProcessAlterNodeTypeFp processAlterNodeTypeFp;
+ ProcessDropNodeFp processDropNodeFp;
+ SendMonitorReportFp sendMonitorReportFp;
+ MonitorCleanExpiredSamplesFp monitorCleanExpiredSamplesFp;
+ SendAuditRecordsFp sendAuditRecordsFp;
+ GetVnodeLoadsFp getVnodeLoadsFp;
+ GetVnodeLoadsFp getVnodeLoadsLiteFp;
+ GetMnodeLoadsFp getMnodeLoadsFp;
+ GetQnodeLoadsFp getQnodeLoadsFp;
+ int32_t statusSeq;
} SDnodeMgmt;
// dmHandle.c
diff --git a/source/dnode/mgmt/mgmt_dnode/src/dmInt.c b/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
index 958b411881..d7170398fb 100644
--- a/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
+++ b/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
@@ -65,6 +65,7 @@ static int32_t dmOpenMgmt(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) {
pMgmt->processAlterNodeTypeFp = pInput->processAlterNodeTypeFp;
pMgmt->processDropNodeFp = pInput->processDropNodeFp;
pMgmt->sendMonitorReportFp = pInput->sendMonitorReportFp;
+ pMgmt->monitorCleanExpiredSamplesFp = pInput->monitorCleanExpiredSamplesFp;
pMgmt->sendAuditRecordsFp = pInput->sendAuditRecordFp;
pMgmt->getVnodeLoadsFp = pInput->getVnodeLoadsFp;
pMgmt->getVnodeLoadsLiteFp = pInput->getVnodeLoadsLiteFp;
diff --git a/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c b/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
index aeb519596d..4cfadc8f59 100644
--- a/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
+++ b/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
@@ -168,6 +168,7 @@ static void *dmMonitorThreadFp(void *param) {
float interval = (curTime - lastTime) / 1000.0f;
if (interval >= tsMonitorInterval) {
(*pMgmt->sendMonitorReportFp)();
+ (*pMgmt->monitorCleanExpiredSamplesFp)();
lastTime = curTime;
trimCount = (trimCount + 1) % TRIM_FREQ;
diff --git a/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c b/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
index 4cb6c5c724..2abf292e73 100644
--- a/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
+++ b/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
@@ -14,8 +14,11 @@
*/
#define _DEFAULT_SOURCE
+#include "taos_monitor.h"
#include "vmInt.h"
+extern taos_counter_t *tsInsertCounter;
+
void vmGetVnodeLoads(SVnodeMgmt *pMgmt, SMonVloadInfo *pInfo, bool isReset) {
pInfo->pVloads = taosArrayInit(pMgmt->state.totalVnodes, sizeof(SVnodeLoad));
if (pInfo->pVloads == NULL) return;
@@ -117,6 +120,34 @@ void vmGetMonitorInfo(SVnodeMgmt *pMgmt, SMonVmInfo *pInfo) {
taosArrayDestroy(pVloads);
}
+void vmCleanExpriedSamples(SVnodeMgmt *pMgmt) {
+ int list_size = taos_counter_get_keys_size(tsInsertCounter);
+ if (list_size == 0) return;
+ int32_t *vgroup_ids;
+ char **keys;
+ int r = 0;
+ r = taos_counter_get_vgroup_ids(tsInsertCounter, &keys, &vgroup_ids, &list_size);
+ if (r) {
+ dError("failed to get vgroup ids");
+ return;
+ }
+ (void)taosThreadRwlockRdlock(&pMgmt->lock);
+ for (int i = 0; i < list_size; i++) {
+ int32_t vgroup_id = vgroup_ids[i];
+ void *vnode = taosHashGet(pMgmt->hash, &vgroup_id, sizeof(int32_t));
+ if (vnode == NULL) {
+ r = taos_counter_delete(tsInsertCounter, keys[i]);
+ if (r) {
+ dError("failed to delete monitor sample key:%s", keys[i]);
+ }
+ }
+ }
+ (void)taosThreadRwlockUnlock(&pMgmt->lock);
+ if (vgroup_ids) taosMemoryFree(vgroup_ids);
+ if (keys) taosMemoryFree(keys);
+ return;
+}
+
static void vmGenerateVnodeCfg(SCreateVnodeReq *pCreate, SVnodeCfg *pCfg) {
memcpy(pCfg, &vnodeCfgDefault, sizeof(SVnodeCfg));
diff --git a/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h b/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h
index 9548d0cad9..5196987f28 100644
--- a/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h
+++ b/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h
@@ -128,6 +128,7 @@ int32_t dmProcessNodeMsg(SMgmtWrapper *pWrapper, SRpcMsg *pMsg);
// dmMonitor.c
void dmSendMonitorReport();
+void dmMonitorCleanExpiredSamples();
void dmSendAuditRecords();
void dmGetVnodeLoads(SMonVloadInfo *pInfo);
void dmGetVnodeLoadsLite(SMonVloadInfo *pInfo);
diff --git a/source/dnode/mgmt/node_mgmt/inc/dmNodes.h b/source/dnode/mgmt/node_mgmt/inc/dmNodes.h
index 7d635c6bdc..2561a13b92 100644
--- a/source/dnode/mgmt/node_mgmt/inc/dmNodes.h
+++ b/source/dnode/mgmt/node_mgmt/inc/dmNodes.h
@@ -39,6 +39,8 @@ void vmGetVnodeLoadsLite(void *pMgmt, SMonVloadInfo *pInfo);
void mmGetMnodeLoads(void *pMgmt, SMonMloadInfo *pInfo);
void qmGetQnodeLoads(void *pMgmt, SQnodeLoad *pInfo);
+void vmCleanExpriedSamples(void *pMgmt);
+
#ifdef __cplusplus
}
#endif
diff --git a/source/dnode/mgmt/node_mgmt/src/dmEnv.c b/source/dnode/mgmt/node_mgmt/src/dmEnv.c
index 0a75847d96..620aed709f 100644
--- a/source/dnode/mgmt/node_mgmt/src/dmEnv.c
+++ b/source/dnode/mgmt/node_mgmt/src/dmEnv.c
@@ -409,6 +409,7 @@ SMgmtInputOpt dmBuildMgmtInputOpt(SMgmtWrapper *pWrapper) {
.processAlterNodeTypeFp = dmProcessAlterNodeTypeReq,
.processDropNodeFp = dmProcessDropNodeReq,
.sendMonitorReportFp = dmSendMonitorReport,
+ .monitorCleanExpiredSamplesFp = dmMonitorCleanExpiredSamples,
.sendAuditRecordFp = auditSendRecordsInBatch,
.getVnodeLoadsFp = dmGetVnodeLoads,
.getVnodeLoadsLiteFp = dmGetVnodeLoadsLite,
diff --git a/source/dnode/mgmt/node_mgmt/src/dmMonitor.c b/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
index d3197282b6..ce0b2b59e0 100644
--- a/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
+++ b/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
@@ -33,8 +33,8 @@ static void dmGetMonitorBasicInfoBasic(SDnode *pDnode, SMonBasicInfo *pInfo) {
}
static void dmGetMonitorDnodeInfo(SDnode *pDnode, SMonDnodeInfo *pInfo) {
- //pInfo->uptime = (taosGetTimestampMs() - pDnode->data.rebootTime) / (86400000.0f);
- pInfo->uptime = (taosGetTimestampMs() - pDnode->data.rebootTime) /1000.0f;
+ // pInfo->uptime = (taosGetTimestampMs() - pDnode->data.rebootTime) / (86400000.0f);
+ pInfo->uptime = (taosGetTimestampMs() - pDnode->data.rebootTime) / 1000.0f;
pInfo->has_mnode = pDnode->wrappers[MNODE].required;
pInfo->has_qnode = pDnode->wrappers[QNODE].required;
pInfo->has_snode = pDnode->wrappers[SNODE].required;
@@ -52,6 +52,17 @@ static void dmGetDmMonitorInfo(SDnode *pDnode) {
monSetDmInfo(&dmInfo);
}
+void dmCleanExpriedSamples(SDnode *pDnode) {
+ SMgmtWrapper *pWrapper = &pDnode->wrappers[VNODE];
+ if (dmMarkWrapper(pWrapper) == 0) {
+ if (pWrapper->pMgmt != NULL) {
+ vmCleanExpriedSamples(pWrapper->pMgmt);
+ }
+ }
+ dmReleaseWrapper(pWrapper);
+ return;
+}
+
static void dmGetDmMonitorInfoBasic(SDnode *pDnode) {
SMonDmInfo dmInfo = {0};
dmGetMonitorBasicInfoBasic(pDnode, &dmInfo.basic);
@@ -123,11 +134,17 @@ void dmSendMonitorReport() {
monGenAndSendReport();
}
-//Todo: put this in seperate file in the future
-void dmSendAuditRecords() {
- auditSendRecordsInBatch();
+void dmMonitorCleanExpiredSamples() {
+ if (!tsEnableMonitor || tsMonitorFqdn[0] == 0 || tsMonitorPort == 0) return;
+ dTrace("clean monitor expired samples");
+
+ SDnode *pDnode = dmInstance();
+ (void)dmCleanExpriedSamples(pDnode);
}
+// Todo: put this in seperate file in the future
+void dmSendAuditRecords() { auditSendRecordsInBatch(); }
+
void dmGetVnodeLoads(SMonVloadInfo *pInfo) {
SDnode *pDnode = dmInstance();
SMgmtWrapper *pWrapper = &pDnode->wrappers[VNODE];
diff --git a/source/dnode/mgmt/node_util/inc/dmUtil.h b/source/dnode/mgmt/node_util/inc/dmUtil.h
index 4ad4ea7c30..425f10392f 100644
--- a/source/dnode/mgmt/node_util/inc/dmUtil.h
+++ b/source/dnode/mgmt/node_util/inc/dmUtil.h
@@ -116,6 +116,7 @@ typedef enum {
typedef int32_t (*ProcessCreateNodeFp)(EDndNodeType ntype, SRpcMsg *pMsg);
typedef int32_t (*ProcessDropNodeFp)(EDndNodeType ntype, SRpcMsg *pMsg);
typedef void (*SendMonitorReportFp)();
+typedef void (*MonitorCleanExpiredSamplesFp)();
typedef void (*SendAuditRecordsFp)();
typedef void (*GetVnodeLoadsFp)(SMonVloadInfo *pInfo);
typedef void (*GetMnodeLoadsFp)(SMonMloadInfo *pInfo);
@@ -146,21 +147,22 @@ typedef struct {
} SDnodeData;
typedef struct {
- const char *path;
- const char *name;
- STfs *pTfs;
- SDnodeData *pData;
- SMsgCb msgCb;
- ProcessCreateNodeFp processCreateNodeFp;
- ProcessAlterNodeTypeFp processAlterNodeTypeFp;
- ProcessDropNodeFp processDropNodeFp;
- SendMonitorReportFp sendMonitorReportFp;
- SendAuditRecordsFp sendAuditRecordFp;
- GetVnodeLoadsFp getVnodeLoadsFp;
- GetVnodeLoadsFp getVnodeLoadsLiteFp;
- GetMnodeLoadsFp getMnodeLoadsFp;
- GetQnodeLoadsFp getQnodeLoadsFp;
- StopDnodeFp stopDnodeFp;
+ const char *path;
+ const char *name;
+ STfs *pTfs;
+ SDnodeData *pData;
+ SMsgCb msgCb;
+ ProcessCreateNodeFp processCreateNodeFp;
+ ProcessAlterNodeTypeFp processAlterNodeTypeFp;
+ ProcessDropNodeFp processDropNodeFp;
+ SendMonitorReportFp sendMonitorReportFp;
+ MonitorCleanExpiredSamplesFp monitorCleanExpiredSamplesFp;
+ SendAuditRecordsFp sendAuditRecordFp;
+ GetVnodeLoadsFp getVnodeLoadsFp;
+ GetVnodeLoadsFp getVnodeLoadsLiteFp;
+ GetMnodeLoadsFp getMnodeLoadsFp;
+ GetQnodeLoadsFp getQnodeLoadsFp;
+ StopDnodeFp stopDnodeFp;
} SMgmtInputOpt;
typedef struct {
diff --git a/source/dnode/mnode/impl/src/mndPerfSchema.c b/source/dnode/mnode/impl/src/mndPerfSchema.c
index 8ff9f8f27e..da5e201c05 100644
--- a/source/dnode/mnode/impl/src/mndPerfSchema.c
+++ b/source/dnode/mnode/impl/src/mndPerfSchema.c
@@ -42,7 +42,7 @@ int32_t mndPerfsInitMeta(SHashObj *hash) {
int32_t code = 0;
STableMetaRsp meta = {0};
- tstrncpy(meta.dbFName, TSDB_INFORMATION_SCHEMA_DB, sizeof(meta.dbFName));
+ tstrncpy(meta.dbFName, TSDB_PERFORMANCE_SCHEMA_DB, sizeof(meta.dbFName));
meta.tableType = TSDB_SYSTEM_TABLE;
meta.sversion = 1;
meta.tversion = 1;
diff --git a/source/dnode/mnode/impl/src/mndStreamUtil.c b/source/dnode/mnode/impl/src/mndStreamUtil.c
index ef91ccef34..d75713fd28 100644
--- a/source/dnode/mnode/impl/src/mndStreamUtil.c
+++ b/source/dnode/mnode/impl/src/mndStreamUtil.c
@@ -251,7 +251,7 @@ void mndKillTransImpl(SMnode *pMnode, int32_t transId, const char *pDbName) {
int32_t code = mndKillTrans(pMnode, pTrans);
mndReleaseTrans(pMnode, pTrans);
if (code) {
- mError("failed to kill trans:%d", pTrans->id);
+ mError("failed to kill transId:%d, code:%s", pTrans->id, tstrerror(code));
}
} else {
mError("failed to acquire trans in Db:%s, transId:%d", pDbName, transId);
diff --git a/source/dnode/mnode/sdb/src/sdb.c b/source/dnode/mnode/sdb/src/sdb.c
index 7244f2d7c9..576ba736b5 100644
--- a/source/dnode/mnode/sdb/src/sdb.c
+++ b/source/dnode/mnode/sdb/src/sdb.c
@@ -68,7 +68,11 @@ SSdb *sdbInit(SSdbOpt *pOption) {
void sdbCleanup(SSdb *pSdb) {
mInfo("start to cleanup sdb");
- (void)sdbWriteFile(pSdb, 0);
+ int32_t code = 0;
+
+ if ((code = sdbWriteFile(pSdb, 0)) != 0) {
+ mError("failed to write sdb file since %s", tstrerror(code));
+ }
if (pSdb->currDir != NULL) {
taosMemoryFreeClear(pSdb->currDir);
diff --git a/source/dnode/mnode/sdb/src/sdbFile.c b/source/dnode/mnode/sdb/src/sdbFile.c
index dec37bfbf1..94826405dc 100644
--- a/source/dnode/mnode/sdb/src/sdbFile.c
+++ b/source/dnode/mnode/sdb/src/sdbFile.c
@@ -258,8 +258,11 @@ static int32_t sdbReadFileImp(SSdb *pSdb) {
if (code != 0) {
mError("failed to read sdb file:%s head since %s", file, tstrerror(code));
taosMemoryFree(pRaw);
- (void)taosCloseFile(&pFile);
- return -1;
+ int32_t ret = 0;
+ if ((ret = taosCloseFile(&pFile)) != 0) {
+ mError("failed to close sdb file:%s since %s", file, tstrerror(ret));
+ }
+ return code;
}
int64_t tableVer[SDB_MAX] = {0};
@@ -361,7 +364,9 @@ static int32_t sdbReadFileImp(SSdb *pSdb) {
pSdb->commitTerm, pSdb->commitConfig);
_OVER:
- (void)taosCloseFile(&pFile);
+ if ((ret = taosCloseFile(&pFile)) != 0) {
+ mError("failed to close sdb file:%s since %s", file, tstrerror(ret));
+ }
sdbFreeRaw(pRaw);
TAOS_RETURN(code);
@@ -404,8 +409,11 @@ static int32_t sdbWriteFileImp(SSdb *pSdb, int32_t skip_type) {
code = sdbWriteFileHead(pSdb, pFile);
if (code != 0) {
mError("failed to write sdb file:%s head since %s", tmpfile, tstrerror(code));
- (void)taosCloseFile(&pFile);
- return -1;
+ int32_t ret = 0;
+ if ((ret = taosCloseFile(&pFile)) != 0) {
+ mError("failed to close sdb file:%s since %s", tmpfile, tstrerror(ret));
+ }
+ return code;
}
for (int32_t i = SDB_MAX - 1; i >= 0; --i) {
@@ -613,12 +621,18 @@ static void sdbCloseIter(SSdbIter *pIter) {
if (pIter == NULL) return;
if (pIter->file != NULL) {
- (void)taosCloseFile(&pIter->file);
+ int32_t ret = 0;
+ if ((ret = taosCloseFile(&pIter->file)) != 0) {
+ mError("failed to close sdb file since %s", tstrerror(ret));
+ }
pIter->file = NULL;
}
if (pIter->name != NULL) {
- (void)taosRemoveFile(pIter->name);
+ int32_t ret = 0;
+ if ((ret = taosRemoveFile(pIter->name)) != 0) {
+ mError("failed to remove sdb file:%s since %s", pIter->name, tstrerror(ret));
+ }
taosMemoryFree(pIter->name);
pIter->name = NULL;
}
diff --git a/source/dnode/mnode/sdb/src/sdbHash.c b/source/dnode/mnode/sdb/src/sdbHash.c
index 0e41e0732f..5a2d1c981c 100644
--- a/source/dnode/mnode/sdb/src/sdbHash.c
+++ b/source/dnode/mnode/sdb/src/sdbHash.c
@@ -174,12 +174,12 @@ static int32_t sdbInsertRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
if (insertFp != NULL) {
code = (*insertFp)(pSdb, pRow->pObj);
if (code != 0) {
- if (terrno == 0) terrno = TSDB_CODE_MND_TRANS_UNKNOW_ERROR;
- code = terrno;
- (void)taosHashRemove(hash, pRow->pObj, keySize);
+ if (taosHashRemove(hash, pRow->pObj, keySize) != 0) {
+ mError("failed to remove row from hash");
+ }
sdbFreeRow(pSdb, pRow, false);
- terrno = code;
sdbUnLock(pSdb, type);
+ terrno = code;
return terrno;
}
}
diff --git a/source/dnode/vnode/src/tq/tq.c b/source/dnode/vnode/src/tq/tq.c
index 07daab4459..de295f2611 100644
--- a/source/dnode/vnode/src/tq/tq.c
+++ b/source/dnode/vnode/src/tq/tq.c
@@ -1129,7 +1129,7 @@ int32_t tqProcessTaskCheckPointSourceReq(STQ* pTq, SRpcMsg* pMsg, SRpcMsg* pRsp)
SStreamTask* pTask = NULL;
code = streamMetaAcquireTask(pMeta, req.streamId, req.taskId, &pTask);
- if (pTask == NULL) {
+ if (pTask == NULL || code != 0) {
tqError("vgId:%d failed to find s-task:0x%x, ignore checkpoint msg. checkpointId:%" PRId64
" transId:%d it may have been destroyed",
vgId, req.taskId, req.checkpointId, req.transId);
diff --git a/source/dnode/vnode/src/tqCommon/tqCommon.c b/source/dnode/vnode/src/tqCommon/tqCommon.c
index 44b3f75289..68f43d637b 100644
--- a/source/dnode/vnode/src/tqCommon/tqCommon.c
+++ b/source/dnode/vnode/src/tqCommon/tqCommon.c
@@ -410,7 +410,7 @@ int32_t tqStreamTaskProcessRetrieveReq(SStreamMeta* pMeta, SRpcMsg* pMsg) {
tDecoderClear(&decoder);
if (code) {
- tqError("vgId:%d failed to decode retrieve msg, quit handling it", pMeta->vgId);
+ tqError("vgId:%d failed to decode retrieve msg, discard it", pMeta->vgId);
return code;
}
@@ -420,9 +420,16 @@ int32_t tqStreamTaskProcessRetrieveReq(SStreamMeta* pMeta, SRpcMsg* pMsg) {
tqError("vgId:%d process retrieve req, failed to acquire task:0x%x, it may have been dropped already", pMeta->vgId,
req.dstTaskId);
tCleanupStreamRetrieveReq(&req);
- return -1;
+ return code;
}
+ // enqueue
+ tqDebug("s-task:%s (vgId:%d level:%d) recv retrieve req from task:0x%x(vgId:%d),QID:0x%" PRIx64, pTask->id.idStr,
+ pTask->pMeta->vgId, pTask->info.taskLevel, req.srcTaskId, req.srcNodeId, req.reqId);
+
+ // if task is in ck status, set current ck failed
+ streamTaskSetCheckpointFailed(pTask);
+
if (pTask->info.taskLevel == TASK_LEVEL__SOURCE) {
code = streamProcessRetrieveReq(pTask, &req);
} else {
@@ -431,14 +438,19 @@ int32_t tqStreamTaskProcessRetrieveReq(SStreamMeta* pMeta, SRpcMsg* pMsg) {
code = streamTaskBroadcastRetrieveReq(pTask, &req);
}
- SRpcMsg rsp = {.info = pMsg->info, .code = 0};
- streamTaskSendRetrieveRsp(&req, &rsp);
+ if (code != TSDB_CODE_SUCCESS) { // return error not send rsp manually
+ tqError("s-task:0x%x vgId:%d failed to process retrieve request from 0x%x, code:%s", req.dstTaskId, req.dstNodeId,
+ req.srcTaskId, tstrerror(code));
+ } else { // send rsp manually only on success.
+ SRpcMsg rsp = {.info = pMsg->info, .code = 0};
+ streamTaskSendRetrieveRsp(&req, &rsp);
+ }
streamMetaReleaseTask(pMeta, pTask);
tCleanupStreamRetrieveReq(&req);
// always return success, to disable the auto rsp
- return TSDB_CODE_SUCCESS;
+ return code;
}
int32_t tqStreamTaskProcessCheckReq(SStreamMeta* pMeta, SRpcMsg* pMsg) {
diff --git a/source/dnode/vnode/src/tsdb/tsdbRead2.c b/source/dnode/vnode/src/tsdb/tsdbRead2.c
index cecc52c51c..0c61366513 100644
--- a/source/dnode/vnode/src/tsdb/tsdbRead2.c
+++ b/source/dnode/vnode/src/tsdb/tsdbRead2.c
@@ -211,7 +211,7 @@ static int32_t updateBlockSMAInfo(STSchema* pSchema, SBlockLoadSuppInfo* pSupInf
while (i < pSchema->numOfCols && j < pSupInfo->numOfCols) {
STColumn* pTCol = &pSchema->columns[i];
if (pTCol->colId == pSupInfo->colId[j]) {
- if (!IS_BSMA_ON(pTCol)) {
+ if (!IS_BSMA_ON(pTCol) && (PRIMARYKEY_TIMESTAMP_COL_ID != pTCol->colId)) {
pSupInfo->smaValid = false;
return TSDB_CODE_SUCCESS;
}
@@ -1743,8 +1743,6 @@ static int32_t initRowMergeIfNeeded(STsdbReader* pReader, int64_t uid) {
if (ps == NULL) {
return terrno;
}
-
- code = tsdbRowMergerInit(pMerger, ps);
}
return code;
diff --git a/source/dnode/vnode/src/vnd/vnodeSvr.c b/source/dnode/vnode/src/vnd/vnodeSvr.c
index c02ff465c6..8052be46f9 100644
--- a/source/dnode/vnode/src/vnd/vnodeSvr.c
+++ b/source/dnode/vnode/src/vnd/vnodeSvr.c
@@ -253,11 +253,6 @@ static int32_t vnodePreProcessSubmitTbData(SVnode *pVnode, SDecoder *pCoder, int
version = (submitTbData.flags >> 8) & 0xff;
submitTbData.flags = submitTbData.flags & 0xff;
- if (submitTbData.flags & SUBMIT_REQ_FROM_FILE) {
- code = grantCheck(TSDB_GRANT_CSV);
- TSDB_CHECK_CODE(code, lino, _exit);
- }
-
int64_t uid;
if (submitTbData.flags & SUBMIT_REQ_AUTO_CREATE_TABLE) {
code = vnodePreprocessCreateTableReq(pVnode, pCoder, btimeMs, &uid);
diff --git a/source/libs/executor/src/aggregateoperator.c b/source/libs/executor/src/aggregateoperator.c
index 61f1339c82..d9af279813 100644
--- a/source/libs/executor/src/aggregateoperator.c
+++ b/source/libs/executor/src/aggregateoperator.c
@@ -51,7 +51,7 @@ typedef struct SAggOperatorInfo {
} SAggOperatorInfo;
static void destroyAggOperatorInfo(void* param);
-static void setExecutionContext(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId);
+static int32_t setExecutionContext(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId);
static int32_t createDataBlockForEmptyInput(SOperatorInfo* pOperator, SSDataBlock** ppBlock);
static void destroyDataBlockForEmptyInput(bool blockAllocated, SSDataBlock** ppBlock);
@@ -63,7 +63,7 @@ static int32_t doInitAggInfoSup(SAggSupporter* pAggSup, SqlFunctionCtx* pCtx, in
static int32_t addNewResultRowBuf(SResultRow* pWindowRes, SDiskbasedBuf* pResultBuf, uint32_t size);
-static void doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId);
+static int32_t doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId);
static void functionCtxSave(SqlFunctionCtx* pCtx, SFunctionCtxStatus* pStatus);
static void functionCtxRestore(SqlFunctionCtx* pCtx, SFunctionCtxStatus* pStatus);
@@ -184,7 +184,8 @@ static bool nextGroupedResult(SOperatorInfo* pOperator) {
if (pBlock) {
pAggInfo->pNewGroupBlock = NULL;
tSimpleHashClear(pAggInfo->aggSup.pResultRowHashTable);
- setExecutionContext(pOperator, pOperator->exprSupp.numOfExprs, pBlock->info.id.groupId);
+ code = setExecutionContext(pOperator, pOperator->exprSupp.numOfExprs, pBlock->info.id.groupId);
+ QUERY_CHECK_CODE(code, lino, _end);
code = setInputDataBlock(pSup, pBlock, order, pBlock->info.scanFlag, true);
QUERY_CHECK_CODE(code, lino, _end);
@@ -225,12 +226,19 @@ static bool nextGroupedResult(SOperatorInfo* pOperator) {
break;
}
// the pDataBlock are always the same one, no need to call this again
- setExecutionContext(pOperator, pOperator->exprSupp.numOfExprs, pBlock->info.id.groupId);
+ code = setExecutionContext(pOperator, pOperator->exprSupp.numOfExprs, pBlock->info.id.groupId);
+ if (code != TSDB_CODE_SUCCESS) {
+ destroyDataBlockForEmptyInput(blockAllocated, &pBlock);
+ T_LONG_JMP(pTaskInfo->env, code);
+ }
code = setInputDataBlock(pSup, pBlock, order, pBlock->info.scanFlag, true);
- QUERY_CHECK_CODE(code, lino, _end);
+ if (code != TSDB_CODE_SUCCESS) {
+ destroyDataBlockForEmptyInput(blockAllocated, &pBlock);
+ T_LONG_JMP(pTaskInfo->env, code);
+ }
code = doAggregateImpl(pOperator, pSup->pCtx);
- if (code != 0) {
+ if (code != TSDB_CODE_SUCCESS) {
destroyDataBlockForEmptyInput(blockAllocated, &pBlock);
T_LONG_JMP(pTaskInfo->env, code);
}
@@ -427,20 +435,24 @@ void destroyDataBlockForEmptyInput(bool blockAllocated, SSDataBlock** ppBlock) {
*ppBlock = NULL;
}
-void setExecutionContext(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId) {
+int32_t setExecutionContext(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId) {
+ int32_t code = TSDB_CODE_SUCCESS;
SAggOperatorInfo* pAggInfo = pOperator->info;
if (pAggInfo->groupId != UINT64_MAX && pAggInfo->groupId == groupId) {
- return;
+ return code;
}
- doSetTableGroupOutputBuf(pOperator, numOfOutput, groupId);
+ code = doSetTableGroupOutputBuf(pOperator, numOfOutput, groupId);
// record the current active group id
pAggInfo->groupId = groupId;
+ return code;
}
-void doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId) {
+int32_t doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t numOfOutput, uint64_t groupId) {
// for simple group by query without interval, all the tables belong to one group result.
+ int32_t code = TSDB_CODE_SUCCESS;
+ int32_t lino = 0;
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
SAggOperatorInfo* pAggInfo = pOperator->info;
@@ -452,23 +464,27 @@ void doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t numOfOutput, uin
doSetResultOutBufByKey(pAggInfo->aggSup.pResultBuf, pResultRowInfo, (char*)&groupId, sizeof(groupId), true,
groupId, pTaskInfo, false, &pAggInfo->aggSup, true);
if (pResultRow == NULL || pTaskInfo->code != 0) {
- T_LONG_JMP(pTaskInfo->env, pTaskInfo->code);
+ code = pTaskInfo->code;
+ lino = __LINE__;
+ goto _end;
}
/*
* not assign result buffer yet, add new result buffer
* all group belong to one result set, and each group result has different group id so set the id to be one
*/
if (pResultRow->pageId == -1) {
- int32_t ret = addNewResultRowBuf(pResultRow, pAggInfo->aggSup.pResultBuf, pAggInfo->binfo.pRes->info.rowSize);
- if (ret != TSDB_CODE_SUCCESS) {
- T_LONG_JMP(pTaskInfo->env, terrno);
- }
+ code = addNewResultRowBuf(pResultRow, pAggInfo->aggSup.pResultBuf, pAggInfo->binfo.pRes->info.rowSize);
+ QUERY_CHECK_CODE(code, lino, _end);
}
- int32_t ret = setResultRowInitCtx(pResultRow, pCtx, numOfOutput, rowEntryInfoOffset);
- if (ret != TSDB_CODE_SUCCESS) {
- T_LONG_JMP(pTaskInfo->env, ret);
+ code = setResultRowInitCtx(pResultRow, pCtx, numOfOutput, rowEntryInfoOffset);
+ QUERY_CHECK_CODE(code, lino, _end);
+
+_end:
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, lino, tstrerror(code));
}
+ return code;
}
// a new buffer page for each table. Needs to opt this design
diff --git a/source/libs/executor/src/dataInserter.c b/source/libs/executor/src/dataInserter.c
index 44342b0ac9..5ed97c8db6 100644
--- a/source/libs/executor/src/dataInserter.c
+++ b/source/libs/executor/src/dataInserter.c
@@ -61,14 +61,14 @@ int32_t inserterCallback(void* param, SDataBuf* pMsg, int32_t code) {
if (code) {
pInserter->submitRes.code = code;
}
-
+
if (code == TSDB_CODE_SUCCESS) {
pInserter->submitRes.pRsp = taosMemoryCalloc(1, sizeof(SSubmitRsp2));
if (NULL == pInserter->submitRes.pRsp) {
pInserter->submitRes.code = terrno;
goto _return;
}
-
+
SDecoder coder = {0};
tDecoderInit(&coder, pMsg->pData, pMsg->len);
code = tDecodeSSubmitRsp2(&coder, pInserter->submitRes.pRsp);
@@ -108,7 +108,7 @@ _return:
(void)tsem_post(&pInserter->ready);
taosMemoryFree(pMsg->pData);
-
+
return TSDB_CODE_SUCCESS;
}
@@ -136,8 +136,7 @@ static int32_t sendSubmitRequest(SDataInserterHandle* pInserter, void* pMsg, int
pMsgSendInfo->msgType = TDMT_VND_SUBMIT;
pMsgSendInfo->fp = inserterCallback;
- int64_t transporterId = 0;
- return asyncSendMsgToServer(pTransporter, pEpset, &transporterId, pMsgSendInfo);
+ return asyncSendMsgToServer(pTransporter, pEpset, NULL, pMsgSendInfo);
}
static int32_t submitReqToMsg(int32_t vgId, SSubmitReq2* pReq, void** pData, int32_t* pLen) {
@@ -166,7 +165,7 @@ static int32_t submitReqToMsg(int32_t vgId, SSubmitReq2* pReq, void** pData, int
} else {
taosMemoryFree(pBuf);
}
-
+
return code;
}
@@ -228,14 +227,15 @@ int32_t buildSubmitReqFromBlock(SDataInserterHandle* pInserter, SSubmitReq2** pp
terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR;
goto _end;
}
- void* var = POINTER_SHIFT(pColInfoData->pData, j * pColInfoData->info.bytes);
+ void* var = POINTER_SHIFT(pColInfoData->pData, j * pColInfoData->info.bytes);
switch (pColInfoData->info.type) {
case TSDB_DATA_TYPE_NCHAR:
case TSDB_DATA_TYPE_VARBINARY:
case TSDB_DATA_TYPE_VARCHAR: { // TSDB_DATA_TYPE_BINARY
if (pColInfoData->info.type != pCol->type) {
- qError("column:%d type:%d in block dismatch with schema col:%d type:%d", colIdx, pColInfoData->info.type, k, pCol->type);
+ qError("column:%d type:%d in block dismatch with schema col:%d type:%d", colIdx, pColInfoData->info.type, k,
+ pCol->type);
terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR;
goto _end;
}
@@ -331,11 +331,11 @@ _end:
tDestroySubmitReq(pReq, TSDB_MSG_FLG_ENCODE);
taosMemoryFree(pReq);
}
-
+
return terrno;
}
*ppReq = pReq;
-
+
return TSDB_CODE_SUCCESS;
}
@@ -462,7 +462,8 @@ int32_t createDataInserter(SDataSinkManager* pManager, const SDataSinkNode* pDat
inserter->explain = pInserterNode->explain;
int64_t suid = 0;
- int32_t code = pManager->pAPI->metaFn.getTableSchema(inserter->pParam->readHandle->vnode, pInserterNode->tableId, &inserter->pSchema, &suid);
+ int32_t code = pManager->pAPI->metaFn.getTableSchema(inserter->pParam->readHandle->vnode, pInserterNode->tableId,
+ &inserter->pSchema, &suid);
if (code) {
terrno = code;
goto _return;
@@ -484,9 +485,9 @@ int32_t createDataInserter(SDataSinkManager* pManager, const SDataSinkNode* pDat
inserter->pCols = taosHashInit(pInserterNode->pCols->length, taosGetDefaultHashFunction(TSDB_DATA_TYPE_SMALLINT),
false, HASH_NO_LOCK);
if (NULL == inserter->pCols) {
- goto _return;
+ goto _return;
}
-
+
SNode* pNode = NULL;
int32_t i = 0;
FOREACH(pNode, pInserterNode->pCols) {
diff --git a/source/libs/executor/src/exchangeoperator.c b/source/libs/executor/src/exchangeoperator.c
index f6f3570804..d43f37ca9e 100644
--- a/source/libs/executor/src/exchangeoperator.c
+++ b/source/libs/executor/src/exchangeoperator.c
@@ -464,7 +464,10 @@ _error:
void destroyExchangeOperatorInfo(void* param) {
SExchangeInfo* pExInfo = (SExchangeInfo*)param;
- (void)taosRemoveRef(exchangeObjRefPool, pExInfo->self);
+ int32_t code = taosRemoveRef(exchangeObjRefPool, pExInfo->self);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
}
void freeBlock(void* pParam) {
@@ -505,7 +508,10 @@ void doDestroyExchangeOperatorInfo(void* param) {
blockDataDestroy(pExInfo->pDummyBlock);
tSimpleHashCleanup(pExInfo->pHashSources);
- (void)tsem_destroy(&pExInfo->ready);
+ int32_t code = tsem_destroy(&pExInfo->ready);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
taosMemoryFreeClear(pExInfo->pTaskId);
taosMemoryFreeClear(param);
@@ -561,9 +567,13 @@ int32_t loadRemoteDataCallback(void* param, SDataBuf* pMsg, int32_t code) {
if (code != TSDB_CODE_SUCCESS) {
code = TAOS_SYSTEM_ERROR(code);
qError("failed to invoke post when fetch rsp is ready, code:%s, %p", tstrerror(code), pExchangeInfo);
+ return code;
}
- (void)taosReleaseRef(exchangeObjRefPool, pWrapper->exchangeId);
+ code = taosReleaseRef(exchangeObjRefPool, pWrapper->exchangeId);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
return code;
}
@@ -1190,7 +1200,14 @@ static int32_t exchangeWait(SOperatorInfo* pOperator, SExchangeInfo* pExchangeIn
return pTask->code;
}
}
- (void)tsem_wait(&pExchangeInfo->ready);
+
+ code = tsem_wait(&pExchangeInfo->ready);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ pTask->code = code;
+ return pTask->code;
+ }
+
if (pTask->pWorkerCb) {
code = pTask->pWorkerCb->afterRecoverFromBlocking(pTask->pWorkerCb->pPool);
if (code != TSDB_CODE_SUCCESS) {
diff --git a/source/libs/executor/src/executor.c b/source/libs/executor/src/executor.c
index 117eb8d80a..62932513f4 100644
--- a/source/libs/executor/src/executor.c
+++ b/source/libs/executor/src/executor.c
@@ -601,7 +601,7 @@ int32_t qCreateExecTask(SReadHandle* readHandle, int32_t vgId, uint64_t taskId,
SExecTaskInfo** pTask = (SExecTaskInfo**)pTaskInfo;
(void)taosThreadOnce(&initPoolOnce, initRefPool);
- qDebug("start to create task, TID:0x%" PRIx64 "QID:0x%" PRIx64 ", vgId:%d", taskId, pSubplan->id.queryId, vgId);
+ qDebug("start to create task, TID:0x%" PRIx64 " QID:0x%" PRIx64 ", vgId:%d", taskId, pSubplan->id.queryId, vgId);
int32_t code = createExecTaskInfo(pSubplan, pTask, readHandle, taskId, vgId, sql, model);
if (code != TSDB_CODE_SUCCESS || NULL == *pTask) {
@@ -904,8 +904,14 @@ void qStopTaskOperators(SExecTaskInfo* pTaskInfo) {
}
SExchangeInfo* pExchangeInfo = taosAcquireRef(exchangeObjRefPool, pStop->refId);
if (pExchangeInfo) {
- (void)tsem_post(&pExchangeInfo->ready);
- (void)taosReleaseRef(exchangeObjRefPool, pStop->refId);
+ int32_t code = tsem_post(&pExchangeInfo->ready);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
+ code = taosReleaseRef(exchangeObjRefPool, pStop->refId);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
}
}
diff --git a/source/libs/executor/src/querytask.c b/source/libs/executor/src/querytask.c
index 67b05af120..cb0ebcff70 100644
--- a/source/libs/executor/src/querytask.c
+++ b/source/libs/executor/src/querytask.c
@@ -288,7 +288,7 @@ void buildTaskId(uint64_t taskId, uint64_t queryId, char* dst) {
memcpy(p, "TID:0x", offset);
offset += tintToHex(taskId, &p[offset]);
- memcpy(&p[offset], "QID:0x", 7);
+ memcpy(&p[offset], " QID:0x", 7);
offset += 7;
offset += tintToHex(queryId, &p[offset]);
diff --git a/source/libs/executor/src/scanoperator.c b/source/libs/executor/src/scanoperator.c
index 3cc1d41924..beb3da84b2 100644
--- a/source/libs/executor/src/scanoperator.c
+++ b/source/libs/executor/src/scanoperator.c
@@ -671,7 +671,8 @@ int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo* pExpr, int
STableCachedVal* pVal = taosLRUCacheValue(pCache->pTableMetaEntryCache, h);
val = *pVal;
- (void)taosLRUCacheRelease(pCache->pTableMetaEntryCache, h, false);
+ bool bRes = taosLRUCacheRelease(pCache->pTableMetaEntryCache, h, false);
+ qTrace("release LRU cache, res %d", bRes);
}
qDebug("retrieve table meta from cache:%" PRIu64 ", hit:%" PRIu64 " miss:%" PRIu64 ", %s", pCache->metaFetch,
@@ -893,7 +894,10 @@ void markGroupProcessed(STableScanInfo* pInfo, uint64_t groupId) {
if (pInfo->base.pTableListInfo->groupOffset) {
pInfo->countState = TABLE_COUNT_STATE_PROCESSED;
} else {
- (void)taosHashRemove(pInfo->base.pTableListInfo->remainGroups, &groupId, sizeof(groupId));
+ int32_t code = taosHashRemove(pInfo->base.pTableListInfo->remainGroups, &groupId, sizeof(groupId));
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
}
}
@@ -4529,6 +4533,7 @@ static int32_t tagScanFillResultBlock(SOperatorInfo* pOperator, SSDataBlock* pRe
SColumnInfoData* pDst = taosArrayGet(pRes->pDataBlock, pExprInfo[j].base.resSchema.slotId);
QUERY_CHECK_NULL(pDst, code, lino, _end, terrno);
code = tagScanFillOneCellWithTag(pOperator, pUidTagInfo, &pExprInfo[j], pDst, i, pAPI, pInfo->readHandle.vnode);
+ QUERY_CHECK_CODE(code, lino, _end);
}
}
} else {
@@ -4540,6 +4545,7 @@ static int32_t tagScanFillResultBlock(SOperatorInfo* pOperator, SSDataBlock* pRe
SColumnInfoData* pDst = taosArrayGet(pRes->pDataBlock, pExprInfo[j].base.resSchema.slotId);
QUERY_CHECK_NULL(pDst, code, lino, _end, terrno);
code = tagScanFillOneCellWithTag(pOperator, pUidTagInfo, &pExprInfo[j], pDst, i, pAPI, pInfo->readHandle.vnode);
+ QUERY_CHECK_CODE(code, lino, _end);
}
}
}
diff --git a/source/libs/executor/src/streamtimewindowoperator.c b/source/libs/executor/src/streamtimewindowoperator.c
index 0036618d9f..acadf32937 100644
--- a/source/libs/executor/src/streamtimewindowoperator.c
+++ b/source/libs/executor/src/streamtimewindowoperator.c
@@ -718,6 +718,11 @@ static void doBuildPullDataBlock(SArray* array, int32_t* pIndex, SSDataBlock* pB
SColumnInfoData* pGroupId = (SColumnInfoData*)taosArrayGet(pBlock->pDataBlock, GROUPID_COLUMN_INDEX);
SColumnInfoData* pCalStartTs = (SColumnInfoData*)taosArrayGet(pBlock->pDataBlock, CALCULATE_START_TS_COLUMN_INDEX);
SColumnInfoData* pCalEndTs = (SColumnInfoData*)taosArrayGet(pBlock->pDataBlock, CALCULATE_END_TS_COLUMN_INDEX);
+ SColumnInfoData* pTbName = (SColumnInfoData*)taosArrayGet(pBlock->pDataBlock, TABLE_NAME_COLUMN_INDEX);
+ SColumnInfoData* pPrimaryKey = NULL;
+ if (taosArrayGetSize(pBlock->pDataBlock) > PRIMARY_KEY_COLUMN_INDEX) {
+ pPrimaryKey = (SColumnInfoData*)taosArrayGet(pBlock->pDataBlock, PRIMARY_KEY_COLUMN_INDEX);
+ }
for (; (*pIndex) < size; (*pIndex)++) {
SPullWindowInfo* pWin = taosArrayGet(array, (*pIndex));
code = colDataSetVal(pStartTs, pBlock->info.rows, (const char*)&pWin->window.skey, false);
@@ -735,6 +740,11 @@ static void doBuildPullDataBlock(SArray* array, int32_t* pIndex, SSDataBlock* pB
code = colDataSetVal(pCalEndTs, pBlock->info.rows, (const char*)&pWin->calWin.ekey, false);
QUERY_CHECK_CODE(code, lino, _end);
+ colDataSetNULL(pTbName, pBlock->info.rows);
+ if (pPrimaryKey != NULL) {
+ colDataSetNULL(pPrimaryKey, pBlock->info.rows);
+ }
+
pBlock->info.rows++;
}
if ((*pIndex) == size) {
diff --git a/source/libs/executor/src/sysscanoperator.c b/source/libs/executor/src/sysscanoperator.c
index 7e22e38c95..42fc5b7f7d 100644
--- a/source/libs/executor/src/sysscanoperator.c
+++ b/source/libs/executor/src/sysscanoperator.c
@@ -1575,8 +1575,8 @@ static SSDataBlock* sysTableBuildUserTablesByUids(SOperatorInfo* pOperator) {
SMetaReader mr = {0};
pAPI->metaReaderFn.initReader(&mr, pInfo->readHandle.vnode, META_READER_LOCK, &pAPI->metaFn);
- code = doSetUserTableMetaInfo(&pAPI->metaReaderFn, &pAPI->metaFn, pInfo->readHandle.vnode, &mr, *uid, dbname, vgId, p,
- numOfRows, GET_TASKID(pTaskInfo));
+ code = doSetUserTableMetaInfo(&pAPI->metaReaderFn, &pAPI->metaFn, pInfo->readHandle.vnode, &mr, *uid, dbname, vgId,
+ p, numOfRows, GET_TASKID(pTaskInfo));
pAPI->metaReaderFn.clearReader(&mr);
QUERY_CHECK_CODE(code, lino, _end);
@@ -2170,15 +2170,19 @@ static SSDataBlock* sysTableScanFromMNode(SOperatorInfo* pOperator, SSysTableSca
pMsgSendInfo->fp = loadSysTableCallback;
pMsgSendInfo->requestId = pTaskInfo->id.queryId;
- int64_t transporterId = 0;
- code = asyncSendMsgToServer(pInfo->readHandle.pMsgCb->clientRpc, &pInfo->epSet, &transporterId, pMsgSendInfo);
+ code = asyncSendMsgToServer(pInfo->readHandle.pMsgCb->clientRpc, &pInfo->epSet, NULL, pMsgSendInfo);
if (code != TSDB_CODE_SUCCESS) {
qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
pTaskInfo->code = code;
T_LONG_JMP(pTaskInfo->env, code);
}
- (void)tsem_wait(&pInfo->ready);
+ code = tsem_wait(&pInfo->ready);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ pTaskInfo->code = code;
+ T_LONG_JMP(pTaskInfo->env, code);
+ }
if (pTaskInfo->code) {
qError("%s load meta data from mnode failed, totalRows:%" PRIu64 ", code:%s", GET_TASKID(pTaskInfo),
@@ -2328,7 +2332,10 @@ void extractTbnameSlotId(SSysTableScanInfo* pInfo, const SScanPhysiNode* pScanNo
void destroySysScanOperator(void* param) {
SSysTableScanInfo* pInfo = (SSysTableScanInfo*)param;
- (void)tsem_destroy(&pInfo->ready);
+ int32_t code = tsem_destroy(&pInfo->ready);
+ if (code != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
+ }
blockDataDestroy(pInfo->pRes);
if (pInfo->name.type == TSDB_TABLE_NAME_T) {
@@ -2384,7 +2391,10 @@ int32_t loadSysTableCallback(void* param, SDataBuf* pMsg, int32_t code) {
}
}
- (void)tsem_post(&pScanResInfo->ready);
+ int32_t res = tsem_post(&pScanResInfo->ready);
+ if (res != TSDB_CODE_SUCCESS) {
+ qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(res));
+ }
return TSDB_CODE_SUCCESS;
}
@@ -2880,7 +2890,7 @@ int32_t createDataBlockInfoScanOperator(SReadHandle* readHandle, SBlockDistScanP
code = tableListGetSize(pTableListInfo, &num);
QUERY_CHECK_CODE(code, lino, _error);
- void* pList = tableListGetInfo(pTableListInfo, 0);
+ void* pList = tableListGetInfo(pTableListInfo, 0);
code = readHandle->api.tsdReader.tsdReaderOpen(readHandle->vnode, &cond, pList, num, pInfo->pResBlock,
(void**)&pInfo->pHandle, pTaskInfo->id.str, NULL);
diff --git a/source/libs/executor/src/timewindowoperator.c b/source/libs/executor/src/timewindowoperator.c
index fc91877b66..1999694057 100644
--- a/source/libs/executor/src/timewindowoperator.c
+++ b/source/libs/executor/src/timewindowoperator.c
@@ -1231,7 +1231,7 @@ void destroyIntervalOperatorInfo(void* param) {
cleanupAggSup(&pInfo->aggSup);
cleanupExprSupp(&pInfo->scalarSupp);
- (void)tdListFree(pInfo->binfo.resultRowInfo.openWindow);
+ pInfo->binfo.resultRowInfo.openWindow = tdListFree(pInfo->binfo.resultRowInfo.openWindow);
taosArrayDestroy(pInfo->pInterpCols);
pInfo->pInterpCols = NULL;
@@ -2132,7 +2132,7 @@ typedef struct SGroupTimeWindow {
void destroyMergeIntervalOperatorInfo(void* param) {
SMergeIntervalAggOperatorInfo* miaInfo = (SMergeIntervalAggOperatorInfo*)param;
- (void)tdListFree(miaInfo->groupIntervals);
+ miaInfo->groupIntervals = tdListFree(miaInfo->groupIntervals);
destroyIntervalOperatorInfo(&miaInfo->intervalAggOperatorInfo);
taosMemoryFreeClear(param);
@@ -2162,7 +2162,8 @@ static int32_t outputPrevIntervalResult(SOperatorInfo* pOperatorInfo, uint64_t t
STimeWindow* prevWin = &prevGrpWin->window;
if ((ascScan && newWin->skey > prevWin->ekey) || ((!ascScan) && newWin->skey < prevWin->ekey)) {
- (void)tdListPopNode(miaInfo->groupIntervals, listNode);
+ SListNode* tmp = tdListPopNode(miaInfo->groupIntervals, listNode);
+ taosMemoryFreeClear(tmp);
}
}
diff --git a/source/libs/function/src/builtins.c b/source/libs/function/src/builtins.c
index 17ba430150..f7a6585800 100644
--- a/source/libs/function/src/builtins.c
+++ b/source/libs/function/src/builtins.c
@@ -678,7 +678,7 @@ static int32_t translatePercentile(SFunctionNode* pFunc, char* pErrBuf, int32_t
// set result type
if (numOfParams > 2) {
- pFunc->node.resType = (SDataType){.bytes = 512, .type = TSDB_DATA_TYPE_VARCHAR};
+ pFunc->node.resType = (SDataType){.bytes = 3200, .type = TSDB_DATA_TYPE_VARCHAR};
} else {
pFunc->node.resType = (SDataType){.bytes = tDataTypes[TSDB_DATA_TYPE_DOUBLE].bytes, .type = TSDB_DATA_TYPE_DOUBLE};
}
diff --git a/source/libs/function/src/builtinsimpl.c b/source/libs/function/src/builtinsimpl.c
index 84ab103456..30249fd300 100644
--- a/source/libs/function/src/builtinsimpl.c
+++ b/source/libs/function/src/builtinsimpl.c
@@ -2105,7 +2105,8 @@ int32_t percentileFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) {
tMemBucket* pMemBucket = ppInfo->pMemBucket;
if (pMemBucket != NULL && pMemBucket->total > 0) { // check for null
if (pCtx->numOfParams > 2) {
- char buf[512] = {0};
+ char buf[3200] = {0};
+ // max length of double num is 317, e.g. use %.6lf to print -1.0e+308, consider the comma and bracket, 3200 is enough.
size_t len = 1;
varDataVal(buf)[0] = '[';
@@ -6008,6 +6009,7 @@ int32_t modeFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResInfo) {
pInfo->buf = taosMemoryMalloc(pInfo->colBytes);
if (NULL == pInfo->buf) {
taosHashCleanup(pInfo->pHash);
+ pInfo->pHash = NULL;
return TSDB_CODE_OUT_OF_MEMORY;
}
@@ -6016,6 +6018,7 @@ int32_t modeFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResInfo) {
static void modeFunctionCleanup(SModeInfo * pInfo) {
taosHashCleanup(pInfo->pHash);
+ pInfo->pHash = NULL;
taosMemoryFreeClear(pInfo->buf);
}
diff --git a/source/libs/monitorfw/inc/taos_metric_formatter_i.h b/source/libs/monitorfw/inc/taos_metric_formatter_i.h
index ab60359f4a..54e683fa91 100644
--- a/source/libs/monitorfw/inc/taos_metric_formatter_i.h
+++ b/source/libs/monitorfw/inc/taos_metric_formatter_i.h
@@ -16,6 +16,7 @@
#ifndef TAOS_METRIC_FORMATTER_I_H
#define TAOS_METRIC_FORMATTER_I_H
+#include
// Private
#include "taos_metric_formatter_t.h"
@@ -57,8 +58,8 @@ int taos_metric_formatter_load_l_value(taos_metric_formatter_t *metric_formatter
/**
* @brief API PRIVATE Loads the formatter with a metric sample
*/
-int taos_metric_formatter_load_sample(taos_metric_formatter_t *metric_formatter, taos_metric_sample_t *sample,
- char *ts, char *format);
+int taos_metric_formatter_load_sample(taos_metric_formatter_t *metric_formatter, taos_metric_sample_t *sample, char *ts,
+ char *format);
/**
* @brief API PRIVATE Loads a metric in the string exposition format
@@ -80,4 +81,5 @@ int taos_metric_formatter_clear(taos_metric_formatter_t *self);
*/
char *taos_metric_formatter_dump(taos_metric_formatter_t *metric_formatter);
+int32_t taos_metric_formatter_get_vgroup_id(char *key);
#endif // TAOS_METRIC_FORMATTER_I_H
diff --git a/source/libs/monitorfw/src/taos_counter.c b/source/libs/monitorfw/src/taos_counter.c
index ef7d41cf2c..096d19c190 100644
--- a/source/libs/monitorfw/src/taos_counter.c
+++ b/source/libs/monitorfw/src/taos_counter.c
@@ -20,13 +20,14 @@
#include "taos_alloc.h"
// Private
-#include "taos_test.h"
#include "taos_errors.h"
#include "taos_log.h"
+#include "taos_metric_formatter_i.h"
#include "taos_metric_i.h"
#include "taos_metric_sample_i.h"
#include "taos_metric_sample_t.h"
#include "taos_metric_t.h"
+#include "taos_test.h"
taos_counter_t *taos_counter_new(const char *name, const char *help, size_t label_key_count, const char **label_keys) {
return (taos_counter_t *)taos_metric_new(TAOS_COUNTER, name, help, label_key_count, label_keys);
@@ -64,3 +65,49 @@ int taos_counter_add(taos_counter_t *self, double r_value, const char **label_va
if (sample == NULL) return 1;
return taos_metric_sample_add(sample, r_value);
}
+
+int taos_counter_get_keys_size(taos_counter_t *self) { return self->samples->keys->size; }
+
+int taos_counter_get_vgroup_ids(taos_counter_t *self, char ***keys, int32_t **vgroup_ids, int *list_size) {
+ TAOS_TEST_PARA(self != NULL);
+ if (self == NULL) return 1;
+ if (self->type != TAOS_COUNTER) {
+ TAOS_LOG(TAOS_METRIC_INCORRECT_TYPE);
+ return 1;
+ }
+ if (self->samples == NULL) return 1;
+ (void)pthread_rwlock_rdlock(self->rwlock);
+ taos_linked_list_t *key_list = self->samples->keys;
+ *list_size = key_list->size;
+ int r = 0;
+ *vgroup_ids = (int32_t *)taos_malloc(*list_size * sizeof(int32_t));
+ if (vgroup_ids == NULL) {
+ (void)pthread_rwlock_unlock(self->rwlock);
+ return 1;
+ }
+ *keys = (char **)taos_malloc(*list_size * sizeof(char *));
+ if (keys == NULL) {
+ (void)pthread_rwlock_unlock(self->rwlock);
+ return 1;
+ }
+ int index = 0;
+ for (taos_linked_list_node_t *current_key = key_list->head; current_key != NULL; current_key = current_key->next) {
+ char *key = (char *)current_key->item;
+ int32_t vgroup_id = taos_metric_formatter_get_vgroup_id(key);
+ (*vgroup_ids)[index] = vgroup_id;
+ (*keys)[index] = key;
+ index++;
+ }
+ (void)pthread_rwlock_unlock(self->rwlock);
+ return r;
+}
+
+int taos_counter_delete(taos_counter_t *self, char *key) {
+ TAOS_TEST_PARA(self != NULL);
+ if (self == NULL) return 1;
+ if (self->type != TAOS_COUNTER) {
+ TAOS_LOG(TAOS_METRIC_INCORRECT_TYPE);
+ return 1;
+ }
+ return taos_map_delete(self->samples, key);
+}
\ No newline at end of file
diff --git a/source/libs/monitorfw/src/taos_metric_formatter.c b/source/libs/monitorfw/src/taos_metric_formatter.c
index a20a8d919c..cb1edd30b6 100644
--- a/source/libs/monitorfw/src/taos_metric_formatter.c
+++ b/source/libs/monitorfw/src/taos_metric_formatter.c
@@ -156,6 +156,21 @@ int taos_metric_formatter_load_l_value(taos_metric_formatter_t *self, const char
}
return 0;
}
+int32_t taos_metric_formatter_get_vgroup_id(char *key) {
+ char *start, *end;
+ char vgroupid[10];
+ start = strstr(key, "vgroup_id=\"");
+ if (start) {
+ start += strlen("vgroup_id=\"");
+ end = strchr(start, '\"');
+ if (end) {
+ strncpy(vgroupid, start, end - start);
+ vgroupid[end - start] = '\0';
+ }
+ return strtol(vgroupid, NULL, 10);
+ }
+ return 0;
+}
/*
int taos_metric_formatter_load_sample(taos_metric_formatter_t *self, taos_metric_sample_t *sample,
char *ts, char *format) {
diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c
index 6c86a6c12f..62943cb6d5 100755
--- a/source/libs/parser/src/parTranslater.c
+++ b/source/libs/parser/src/parTranslater.c
@@ -4681,7 +4681,8 @@ int32_t translateTable(STranslateContext* pCxt, SNode** pTable, SNode* pJoinPare
pCxt, toName(pCxt->pParseCxt->acctId, pRealTable->table.dbName, pRealTable->table.tableName, &name),
&(pRealTable->pMeta), true);
if (TSDB_CODE_SUCCESS != code) {
- return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_GET_META_ERROR, tstrerror(code));
+ (void)generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_GET_META_ERROR, tstrerror(code));
+ return code;
}
#ifdef TD_ENTERPRISE
if (TSDB_VIEW_TABLE == pRealTable->pMeta->tableType && (!pCurrSmt->tagScan || pCxt->pParseCxt->biMode)) {
@@ -6783,6 +6784,10 @@ static int32_t translateSelectFrom(STranslateContext* pCxt, SSelectStmt* pSelect
}
static int32_t translateSelect(STranslateContext* pCxt, SSelectStmt* pSelect) {
+ if (pCxt->pParseCxt && pCxt->pParseCxt->setQueryFp) {
+ (*pCxt->pParseCxt->setQueryFp)(pCxt->pParseCxt->requestRid);
+ }
+
if (NULL == pSelect->pFromTable) {
return translateSelectWithoutFrom(pCxt, pSelect);
} else {
@@ -6907,6 +6912,10 @@ static int32_t checkSetOperLimit(STranslateContext* pCxt, SLimitNode* pLimit) {
}
static int32_t translateSetOperator(STranslateContext* pCxt, SSetOperator* pSetOperator) {
+ if (pCxt->pParseCxt && pCxt->pParseCxt->setQueryFp) {
+ (*pCxt->pParseCxt->setQueryFp)(pCxt->pParseCxt->requestRid);
+ }
+
int32_t code = translateQuery(pCxt, pSetOperator->pLeft);
if (TSDB_CODE_SUCCESS == code) {
code = resetHighLevelTranslateNamespace(pCxt);
diff --git a/source/libs/parser/test/parSelectTest.cpp b/source/libs/parser/test/parSelectTest.cpp
index 028bb8f910..61d9134f41 100644
--- a/source/libs/parser/test/parSelectTest.cpp
+++ b/source/libs/parser/test/parSelectTest.cpp
@@ -366,9 +366,9 @@ TEST_F(ParserSelectTest, semanticCheck) {
run("SELECT t1.c1, t1.cc1 FROM t1", TSDB_CODE_PAR_INVALID_COLUMN);
// TSDB_CODE_PAR_GET_META_ERROR
- run("SELECT * FROM t10", TSDB_CODE_PAR_GET_META_ERROR);
+ run("SELECT * FROM t10", TSDB_CODE_PAR_TABLE_NOT_EXIST);
- run("SELECT * FROM test.t10", TSDB_CODE_PAR_GET_META_ERROR);
+ run("SELECT * FROM test.t10", TSDB_CODE_PAR_TABLE_NOT_EXIST);
// TSDB_CODE_PAR_TABLE_NOT_EXIST
run("SELECT t2.c1 FROM t1", TSDB_CODE_PAR_TABLE_NOT_EXIST);
diff --git a/source/libs/qcom/src/querymsg.c b/source/libs/qcom/src/querymsg.c
index 207bd91bd9..b5b660a51b 100644
--- a/source/libs/qcom/src/querymsg.c
+++ b/source/libs/qcom/src/querymsg.c
@@ -574,7 +574,7 @@ int32_t queryProcessTableMetaRsp(void *output, char *msg, int32_t msgSize) {
goto PROCESS_META_OVER;
}
- if (0 != strcmp(metaRsp.dbFName, TSDB_INFORMATION_SCHEMA_DB) &&
+ if (!IS_SYS_DBNAME(metaRsp.dbFName) &&
!tIsValidSchema(metaRsp.pSchemas, metaRsp.numOfColumns, metaRsp.numOfTags)) {
code = TSDB_CODE_TSC_INVALID_VALUE;
goto PROCESS_META_OVER;
diff --git a/source/libs/scalar/src/filter.c b/source/libs/scalar/src/filter.c
index 382b83012d..f03eaf2f75 100644
--- a/source/libs/scalar/src/filter.c
+++ b/source/libs/scalar/src/filter.c
@@ -1274,6 +1274,16 @@ int32_t filterAddUnitToGroup(SFilterGroup *group, uint32_t unitIdx) {
return TSDB_CODE_SUCCESS;
}
+static void filterFreeGroup(void *pItem) {
+ if (pItem == NULL) {
+ return;
+ }
+
+ SFilterGroup *p = (SFilterGroup *)pItem;
+ taosMemoryFreeClear(p->unitIdxs);
+ taosMemoryFreeClear(p->unitFlags);
+}
+
int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
SOperatorNode *node = (SOperatorNode *)tree;
int32_t ret = TSDB_CODE_SUCCESS;
@@ -1336,9 +1346,11 @@ int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
SFilterGroup fgroup = {0};
code = filterAddUnitToGroup(&fgroup, uidx);
if (TSDB_CODE_SUCCESS != code) {
+ filterFreeGroup((void*)&fgroup);
break;
}
if (NULL == taosArrayPush(group, &fgroup)) {
+ filterFreeGroup((void*)&fgroup);
code = TSDB_CODE_OUT_OF_MEMORY;
break;
}
@@ -1658,16 +1670,6 @@ int32_t filterAddGroupUnitFromCtx(SFilterInfo *dst, SFilterInfo *src, SFilterRan
return TSDB_CODE_SUCCESS;
}
-static void filterFreeGroup(void *pItem) {
- if (pItem == NULL) {
- return;
- }
-
- SFilterGroup *p = (SFilterGroup *)pItem;
- taosMemoryFreeClear(p->unitIdxs);
- taosMemoryFreeClear(p->unitFlags);
-}
-
EDealRes fltTreeToGroup(SNode *pNode, void *pContext) {
int32_t code = TSDB_CODE_SUCCESS;
SArray *preGroup = NULL;
@@ -2944,25 +2946,44 @@ int32_t filterRewrite(SFilterInfo *info, SFilterGroupCtx **gRes, int32_t gResNum
for (int32_t n = 0; n < usize; ++n) {
SFilterUnit *u = (SFilterUnit *)taosArrayGetP((SArray *)colInfo->info, n);
if (NULL == u) {
- FLT_ERR_JRET(TSDB_CODE_OUT_OF_RANGE);
+ code = TSDB_CODE_OUT_OF_RANGE;
+ break;
}
- FLT_ERR_JRET(filterAddUnitFromUnit(info, &oinfo, u, &uidx));
- FLT_ERR_JRET(filterAddUnitToGroup(&ng, uidx));
+ code = filterAddUnitFromUnit(info, &oinfo, u, &uidx);
+ if (TSDB_CODE_SUCCESS != code) {
+ break;
+ }
+ code = filterAddUnitToGroup(&ng, uidx);
+ if (TSDB_CODE_SUCCESS != code) {
+ break;
+ }
+ }
+ if (TSDB_CODE_SUCCESS != code) {
+ break;
}
continue;
}
+ if (TSDB_CODE_SUCCESS != code) {
+ filterFreeGroup((void*)&ng);
+ FLT_ERR_JRET(code);
+ }
if (colInfo->type != RANGE_TYPE_MR_CTX) {
fltError("filterRewrite get invalid col type : %d", colInfo->type);
FLT_ERR_JRET(TSDB_CODE_QRY_FILTER_INVALID_TYPE);
}
- FLT_ERR_JRET(filterAddGroupUnitFromCtx(info, &oinfo, colInfo->info, res->colIdx[m], &ng, optr, group));
+ code = filterAddGroupUnitFromCtx(info, &oinfo, colInfo->info, res->colIdx[m], &ng, optr, group);
+ if (TSDB_CODE_SUCCESS != code) {
+ filterFreeGroup((void*)&ng);
+ FLT_ERR_JRET(code);
+ }
}
if (ng.unitNum > 0) {
if (NULL == taosArrayPush(group, &ng)) {
+ filterFreeGroup((void*)&ng);
FLT_ERR_JRET(TSDB_CODE_OUT_OF_MEMORY);
}
}
@@ -5238,22 +5259,20 @@ int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData **p,
*pResultStatus = FILTER_RESULT_ALL_QUALIFIED;
return TSDB_CODE_SUCCESS;
}
-
+ int32_t code = TSDB_CODE_SUCCESS;
SScalarParam output = {0};
SDataType type = {.type = TSDB_DATA_TYPE_BOOL, .bytes = sizeof(bool)};
- int32_t code = sclCreateColumnInfoData(&type, pSrc->info.rows, &output);
- if (code != TSDB_CODE_SUCCESS) {
- return code;
- }
+ FLT_ERR_JRET(sclCreateColumnInfoData(&type, pSrc->info.rows, &output));
if (info->scalarMode) {
SArray *pList = taosArrayInit(1, POINTER_BYTES);
if (NULL == pList) {
- FLT_ERR_RET(terrno);
+ FLT_ERR_JRET(terrno);
}
if (NULL == taosArrayPush(pList, &pSrc)) {
- FLT_ERR_RET(TSDB_CODE_OUT_OF_MEMORY);
+ taosArrayDestroy(pList);
+ FLT_ERR_JRET(terrno);
}
code = scalarCalculate(info->sclCtx.node, pList, &output);
@@ -5261,7 +5280,7 @@ int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData **p,
*p = output.columnData;
- FLT_ERR_RET(code);
+ FLT_ERR_JRET(code);
if (output.numOfQualified == output.numOfRows) {
*pResultStatus = FILTER_RESULT_ALL_QUALIFIED;
@@ -5277,11 +5296,12 @@ int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData **p,
output.numOfRows = pSrc->info.rows;
if (*p == NULL) {
- return TSDB_CODE_APP_ERROR;
+ fltError("filterExecute failed, column data is NULL");
+ FLT_ERR_JRET(TSDB_CODE_APP_ERROR);
}
bool keepAll = false;
- FLT_ERR_RET((info->func)(info, pSrc->info.rows, *p, statis, numOfCols, &output.numOfQualified, &keepAll));
+ FLT_ERR_JRET((info->func)(info, pSrc->info.rows, *p, statis, numOfCols, &output.numOfQualified, &keepAll));
// todo this should be return during filter procedure
if (keepAll) {
@@ -5304,6 +5324,10 @@ int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData **p,
}
return TSDB_CODE_SUCCESS;
+_return:
+ sclFreeParam(&output);
+ *p = NULL;
+ return code;
}
typedef struct SClassifyConditionCxt {
diff --git a/source/libs/scalar/src/scalar.c b/source/libs/scalar/src/scalar.c
index ee79c9a66e..84f5e1de0a 100644
--- a/source/libs/scalar/src/scalar.c
+++ b/source/libs/scalar/src/scalar.c
@@ -74,7 +74,7 @@ int32_t sclConvertValueToSclParam(SValueNode *pValueNode, SScalarParam *out, int
code = colDataSetVal(in.columnData, 0, nodesGetValueFromNode(pValueNode), false);
if (code != TSDB_CODE_SUCCESS) {
- goto _exit;
+ goto _exit;
}
code = colInfoDataEnsureCapacity(out->columnData, 1, true);
@@ -91,7 +91,7 @@ _exit:
}
int32_t sclExtendResRows(SScalarParam *pDst, SScalarParam *pSrc, SArray *pBlockList) {
- SSDataBlock *pb = taosArrayGetP(pBlockList, 0);
+ SSDataBlock *pb = taosArrayGetP(pBlockList, 0);
if (NULL == pb) {
SCL_ERR_RET(TSDB_CODE_OUT_OF_RANGE);
}
@@ -839,8 +839,8 @@ int32_t sclExecLogic(SLogicConditionNode *node, SScalarCtx *ctx, SScalarParam *o
}
// 1=1 and tag_column = 1
- int32_t ind = (i >= params[m].numOfRows)? (params[m].numOfRows - 1):i;
- char* p = colDataGetData(params[m].columnData, ind);
+ int32_t ind = (i >= params[m].numOfRows) ? (params[m].numOfRows - 1) : i;
+ char *p = colDataGetData(params[m].columnData, ind);
GET_TYPED_DATA(value, bool, params[m].columnData->info.type, p);
@@ -1029,7 +1029,7 @@ _return:
EDealRes sclRewriteNullInOptr(SNode **pNode, SScalarCtx *ctx, EOperatorType opType) {
if (opType <= OP_TYPE_CALC_MAX) {
SValueNode *res = NULL;
- ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode**)&res);
+ ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode **)&res);
if (NULL == res) {
sclError("make value node failed");
return DEAL_RES_ERROR;
@@ -1041,7 +1041,7 @@ EDealRes sclRewriteNullInOptr(SNode **pNode, SScalarCtx *ctx, EOperatorType opTy
*pNode = (SNode *)res;
} else {
SValueNode *res = NULL;
- ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode**)&res);
+ ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode **)&res);
if (NULL == res) {
sclError("make value node failed");
return DEAL_RES_ERROR;
@@ -1094,7 +1094,6 @@ static uint8_t sclGetOpValueNodeTsPrecision(SNode *pLeft, SNode *pRight) {
return 0;
}
-
int32_t sclConvertOpValueNodeTs(SOperatorNode *node) {
if (node->pLeft && SCL_IS_VAR_VALUE_NODE(node->pLeft)) {
if (node->pRight && (TSDB_DATA_TYPE_TIMESTAMP == ((SExprNode *)node->pRight)->resType.type)) {
@@ -1105,13 +1104,12 @@ int32_t sclConvertOpValueNodeTs(SOperatorNode *node) {
if (node->pLeft && (TSDB_DATA_TYPE_TIMESTAMP == ((SExprNode *)node->pLeft)->resType.type)) {
if (SCL_IS_VAR_VALUE_NODE(node->pRight)) {
SCL_ERR_RET(sclConvertToTsValueNode(sclGetOpValueNodeTsPrecision(node->pLeft, node->pRight),
- (SValueNode *)node->pRight));
+ (SValueNode *)node->pRight));
} else if (QUERY_NODE_NODE_LIST == node->pRight->type) {
SNode *pNode;
FOREACH(pNode, ((SNodeListNode *)node->pRight)->pNodeList) {
if (SCL_IS_VAR_VALUE_NODE(pNode)) {
- SCL_ERR_RET(
- sclConvertToTsValueNode(sclGetOpValueNodeTsPrecision(node->pLeft, pNode), (SValueNode *)pNode));
+ SCL_ERR_RET(sclConvertToTsValueNode(sclGetOpValueNodeTsPrecision(node->pLeft, pNode), (SValueNode *)pNode));
}
}
}
@@ -1120,7 +1118,6 @@ int32_t sclConvertOpValueNodeTs(SOperatorNode *node) {
return TSDB_CODE_SUCCESS;
}
-
int32_t sclConvertCaseWhenValueNodeTs(SCaseWhenNode *node) {
if (NULL == node->pCase) {
return TSDB_CODE_SUCCESS;
@@ -1140,7 +1137,7 @@ int32_t sclConvertCaseWhenValueNodeTs(SCaseWhenNode *node) {
FOREACH(pNode, node->pWhenThenList) {
if (SCL_IS_VAR_VALUE_NODE(((SWhenThenNode *)pNode)->pWhen)) {
SCL_ERR_RET(sclConvertToTsValueNode(((SExprNode *)node->pCase)->resType.precision,
- (SValueNode *)((SWhenThenNode *)pNode)->pWhen));
+ (SValueNode *)((SWhenThenNode *)pNode)->pWhen));
}
}
}
@@ -1201,7 +1198,7 @@ EDealRes sclRewriteFunction(SNode **pNode, SScalarCtx *ctx) {
}
SValueNode *res = NULL;
- ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode**)&res);
+ ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode **)&res);
if (NULL == res) {
sclError("make value node failed");
sclFreeParam(&output);
@@ -1275,7 +1272,7 @@ EDealRes sclRewriteLogic(SNode **pNode, SScalarCtx *ctx) {
}
SValueNode *res = NULL;
- ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode**)&res);
+ ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode **)&res);
if (NULL == res) {
sclError("make value node failed");
sclFreeParam(&output);
@@ -1346,7 +1343,7 @@ EDealRes sclRewriteOperator(SNode **pNode, SScalarCtx *ctx) {
}
SValueNode *res = NULL;
- ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode**)&res);
+ ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode **)&res);
if (NULL == res) {
sclError("make value node failed");
sclFreeParam(&output);
@@ -1409,7 +1406,7 @@ EDealRes sclRewriteCaseWhen(SNode **pNode, SScalarCtx *ctx) {
}
SValueNode *res = NULL;
- ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode**)&res);
+ ctx->code = nodesMakeNode(QUERY_NODE_VALUE, (SNode **)&res);
if (NULL == res) {
sclError("make value node failed");
sclFreeParam(&output);
@@ -1426,7 +1423,8 @@ EDealRes sclRewriteCaseWhen(SNode **pNode, SScalarCtx *ctx) {
} else {
int32_t type = output.columnData->info.type;
if (IS_VAR_DATA_TYPE(type)) { // todo refactor
- res->datum.p = taosMemoryCalloc(varDataTLen(output.columnData->pData) + 1, sizeof(char)); // add \0 to the end for print json value
+ res->datum.p = taosMemoryCalloc(varDataTLen(output.columnData->pData) + 1,
+ sizeof(char)); // add \0 to the end for print json value
if (NULL == res->datum.p) {
sclError("calloc %d failed", (int)(varDataTLen(output.columnData->pData) + 1));
sclFreeParam(&output);
@@ -1683,8 +1681,7 @@ static int32_t sclGetMathOperatorResType(SOperatorNode *pOp) {
SDataType rdt = ((SExprNode *)(pOp->pRight))->resType;
if ((TSDB_DATA_TYPE_TIMESTAMP == ldt.type && TSDB_DATA_TYPE_TIMESTAMP == rdt.type) ||
- TSDB_DATA_TYPE_VARBINARY == ldt.type ||
- TSDB_DATA_TYPE_VARBINARY == rdt.type ||
+ TSDB_DATA_TYPE_VARBINARY == ldt.type || TSDB_DATA_TYPE_VARBINARY == rdt.type ||
(TSDB_DATA_TYPE_TIMESTAMP == ldt.type && (IS_VAR_DATA_TYPE(rdt.type) || IS_FLOAT_TYPE(rdt.type))) ||
(TSDB_DATA_TYPE_TIMESTAMP == rdt.type && (IS_VAR_DATA_TYPE(ldt.type) || IS_FLOAT_TYPE(ldt.type)))) {
return TSDB_CODE_TSC_INVALID_OPERATION;
@@ -1720,13 +1717,14 @@ static int32_t sclGetCompOperatorResType(SOperatorNode *pOp) {
return TSDB_CODE_TSC_INVALID_OPERATION;
}
SDataType rdt = ((SExprNode *)(pOp->pRight))->resType;
- if (ldt.type == TSDB_DATA_TYPE_VARBINARY || !IS_VAR_DATA_TYPE(ldt.type) || QUERY_NODE_VALUE != nodeType(pOp->pRight) ||
+ if (ldt.type == TSDB_DATA_TYPE_VARBINARY || !IS_VAR_DATA_TYPE(ldt.type) ||
+ QUERY_NODE_VALUE != nodeType(pOp->pRight) ||
(!IS_STR_DATA_TYPE(rdt.type) && (rdt.type != TSDB_DATA_TYPE_NULL))) {
return TSDB_CODE_TSC_INVALID_OPERATION;
}
- if (nodesIsMatchRegularOp(pOp)) {
- SValueNode* node = (SValueNode*)(pOp->pRight);
- if(checkRegexPattern(node->literal) != TSDB_CODE_SUCCESS){
+ SValueNode *node = (SValueNode *)(pOp->pRight);
+ if (!node->placeholderNo && nodesIsMatchRegularOp(pOp)) {
+ if (checkRegexPattern(node->literal) != TSDB_CODE_SUCCESS) {
return TSDB_CODE_PAR_REGULAR_EXPRESSION_ERROR;
}
}
@@ -1762,7 +1760,7 @@ static int32_t sclGetBitwiseOperatorResType(SOperatorNode *pOp) {
}
SDataType ldt = ((SExprNode *)(pOp->pLeft))->resType;
SDataType rdt = ((SExprNode *)(pOp->pRight))->resType;
- if(TSDB_DATA_TYPE_VARBINARY == ldt.type || TSDB_DATA_TYPE_VARBINARY == rdt.type){
+ if (TSDB_DATA_TYPE_VARBINARY == ldt.type || TSDB_DATA_TYPE_VARBINARY == rdt.type) {
return TSDB_CODE_TSC_INVALID_OPERATION;
}
pOp->node.resType.type = TSDB_DATA_TYPE_BIGINT;
diff --git a/source/libs/stream/src/streamCheckStatus.c b/source/libs/stream/src/streamCheckStatus.c
index 91196f31e0..41124d8543 100644
--- a/source/libs/stream/src/streamCheckStatus.c
+++ b/source/libs/stream/src/streamCheckStatus.c
@@ -65,12 +65,7 @@ int32_t streamTaskCheckStatus(SStreamTask* pTask, int32_t upstreamTaskId, int32_
", prev:%" PRId64,
id, upstreamTaskId, vgId, stage, pInfo->stage);
// record the checkpoint failure id and sent to mnode
- streamMutexLock(&pTask->lock);
- ETaskStatus status = streamTaskGetStatus(pTask).state;
- if (status == TASK_STATUS__CK) {
- streamTaskSetFailedCheckpointId(pTask);
- }
- streamMutexUnlock(&pTask->lock);
+ streamTaskSetCheckpointFailed(pTask);
}
if (pInfo->stage != stage) {
diff --git a/source/libs/stream/src/streamCheckpoint.c b/source/libs/stream/src/streamCheckpoint.c
index d0bf24bd03..916aee4e6e 100644
--- a/source/libs/stream/src/streamCheckpoint.c
+++ b/source/libs/stream/src/streamCheckpoint.c
@@ -673,6 +673,15 @@ void streamTaskSetFailedCheckpointId(SStreamTask* pTask) {
}
}
+void streamTaskSetCheckpointFailed(SStreamTask* pTask) {
+ streamMutexLock(&pTask->lock);
+ ETaskStatus status = streamTaskGetStatus(pTask).state;
+ if (status == TASK_STATUS__CK) {
+ streamTaskSetFailedCheckpointId(pTask);
+ }
+ streamMutexUnlock(&pTask->lock);
+}
+
static int32_t getCheckpointDataMeta(const char* id, const char* path, SArray* list) {
int32_t code = 0;
int32_t cap = strlen(path) + 64;
@@ -1111,26 +1120,20 @@ void streamTaskGetTriggerRecvStatus(SStreamTask* pTask, int32_t* pRecved, int32_
// record the dispatch checkpoint trigger info in the list
// memory insufficient may cause the stream computing stopped
-void streamTaskInitTriggerDispatchInfo(SStreamTask* pTask) {
+int32_t streamTaskInitTriggerDispatchInfo(SStreamTask* pTask) {
SActiveCheckpointInfo* pInfo = pTask->chkInfo.pActiveInfo;
+ int64_t now = taosGetTimestampMs();
- int64_t now = taosGetTimestampMs();
streamMutexLock(&pInfo->lock);
-
- // outputQ should be empty here
- if (streamQueueGetNumOfUnAccessedItems(pTask->outputq.queue) > 0) {
- stFatal("s-task:%s items are still in outputQ, failed to init trigger dispatch info", pTask->id.idStr);
- return;
- }
-
pInfo->dispatchTrigger = true;
if (pTask->outputInfo.type == TASK_OUTPUT__FIXED_DISPATCH) {
STaskDispatcherFixed* pDispatch = &pTask->outputInfo.fixedDispatcher;
STaskTriggerSendInfo p = {.sendTs = now, .recved = false, .nodeId = pDispatch->nodeId, .taskId = pDispatch->taskId};
void* px = taosArrayPush(pInfo->pDispatchTriggerList, &p);
- if (px == NULL) {
- // pause the stream task, if memory not enough
+ if (px == NULL) { // pause the stream task, if memory not enough
+ streamMutexUnlock(&pInfo->lock);
+ return terrno;
}
} else {
for (int32_t i = 0; i < streamTaskGetNumOfDownstream(pTask); ++i) {
@@ -1141,13 +1144,15 @@ void streamTaskInitTriggerDispatchInfo(SStreamTask* pTask) {
STaskTriggerSendInfo p = {.sendTs = now, .recved = false, .nodeId = pVgInfo->vgId, .taskId = pVgInfo->taskId};
void* px = taosArrayPush(pInfo->pDispatchTriggerList, &p);
- if (px == NULL) {
- // pause the stream task, if memory not enough
+ if (px == NULL) { // pause the stream task, if memory not enough
+ streamMutexUnlock(&pInfo->lock);
+ return terrno;
}
}
}
streamMutexUnlock(&pInfo->lock);
+ return 0;
}
int32_t streamTaskGetNumOfConfirmed(SActiveCheckpointInfo* pInfo) {
diff --git a/source/libs/stream/src/streamDispatch.c b/source/libs/stream/src/streamDispatch.c
index 0bc090cdfe..ad1866807a 100644
--- a/source/libs/stream/src/streamDispatch.c
+++ b/source/libs/stream/src/streamDispatch.c
@@ -726,8 +726,11 @@ int32_t streamSearchAndAddBlock(SStreamTask* pTask, SStreamDispatchReq* pReqs, S
}
int32_t streamDispatchStreamBlock(SStreamTask* pTask) {
- const char* id = pTask->id.idStr;
- int32_t numOfElems = streamQueueGetNumOfItems(pTask->outputq.queue);
+ const char* id = pTask->id.idStr;
+ int32_t code = 0;
+ SStreamDataBlock* pBlock = NULL;
+
+ int32_t numOfElems = streamQueueGetNumOfItems(pTask->outputq.queue);
if (numOfElems > 0) {
double size = SIZE_IN_MiB(taosQueueMemorySize(pTask->outputq.queue->pQueue));
int32_t numOfUnAccessed = streamQueueGetNumOfUnAccessedItems(pTask->outputq.queue);
@@ -755,35 +758,49 @@ int32_t streamDispatchStreamBlock(SStreamTask* pTask) {
stDebug("s-task:%s start to dispatch msg, set output status:%d", id, pTask->outputq.status);
}
- SStreamDataBlock* pBlock = NULL;
- streamQueueNextItem(pTask->outputq.queue, (SStreamQueueItem**)&pBlock);
- if (pBlock == NULL) {
- atomic_store_8(&pTask->outputq.status, TASK_OUTPUT_STATUS__NORMAL);
- stDebug("s-task:%s not dispatch since no elems in outputQ, output status:%d", id, pTask->outputq.status);
- return 0;
- }
+ while (1) {
+ streamQueueNextItem(pTask->outputq.queue, (SStreamQueueItem**)&pBlock);
+ if (pBlock == NULL) {
+ atomic_store_8(&pTask->outputq.status, TASK_OUTPUT_STATUS__NORMAL);
+ stDebug("s-task:%s not dispatch since no elems in outputQ, output status:%d", id, pTask->outputq.status);
+ return 0;
+ }
- int32_t type = pBlock->type;
- if (!(type == STREAM_INPUT__DATA_BLOCK || type == STREAM_INPUT__CHECKPOINT_TRIGGER ||
- type == STREAM_INPUT__TRANS_STATE)) {
- stError("s-task:%s invalid dispatch block type:%d", id, type);
- return TSDB_CODE_INTERNAL_ERROR;
- }
+ int32_t type = pBlock->type;
+ if (!(type == STREAM_INPUT__DATA_BLOCK || type == STREAM_INPUT__CHECKPOINT_TRIGGER ||
+ type == STREAM_INPUT__TRANS_STATE)) {
+ stError("s-task:%s invalid dispatch block type:%d", id, type);
+ return TSDB_CODE_INTERNAL_ERROR;
+ }
- pTask->execInfo.dispatch += 1;
+ pTask->execInfo.dispatch += 1;
- streamMutexLock(&pTask->msgInfo.lock);
- initDispatchInfo(&pTask->msgInfo, pTask->execInfo.dispatch);
- streamMutexUnlock(&pTask->msgInfo.lock);
+ streamMutexLock(&pTask->msgInfo.lock);
+ initDispatchInfo(&pTask->msgInfo, pTask->execInfo.dispatch);
+ streamMutexUnlock(&pTask->msgInfo.lock);
- int32_t code = doBuildDispatchMsg(pTask, pBlock);
- if (code == 0) {
- destroyStreamDataBlock(pBlock);
- } else { // todo handle build dispatch msg failed
- }
+ code = doBuildDispatchMsg(pTask, pBlock);
+ if (code == 0) {
+ destroyStreamDataBlock(pBlock);
+ } else { // todo handle build dispatch msg failed
+ }
- if (type == STREAM_INPUT__CHECKPOINT_TRIGGER) {
- streamTaskInitTriggerDispatchInfo(pTask);
+ if (type == STREAM_INPUT__CHECKPOINT_TRIGGER) {
+ // outputQ should be empty here, otherwise, set the checkpoint failed due to the retrieve req happens
+ if (streamQueueGetNumOfUnAccessedItems(pTask->outputq.queue) > 0) {
+ stError("s-task:%s items are still in outputQ due to downstream retrieve, failed to init trigger dispatch",
+ pTask->id.idStr);
+ streamTaskSetCheckpointFailed(pTask);
+ clearBufferedDispatchMsg(pTask);
+ continue;
+ }
+
+ code = streamTaskInitTriggerDispatchInfo(pTask);
+ if (code != TSDB_CODE_SUCCESS) { // todo handle error
+ }
+ }
+
+ break;
}
code = sendDispatchMsg(pTask, pTask->msgInfo.pData);
diff --git a/source/libs/stream/src/streamExec.c b/source/libs/stream/src/streamExec.c
index fca0bf403f..5bb9c993de 100644
--- a/source/libs/stream/src/streamExec.c
+++ b/source/libs/stream/src/streamExec.c
@@ -98,14 +98,13 @@ static int32_t doDumpResult(SStreamTask* pTask, SStreamQueueItem* pItem, SArray*
void streamTaskExecImpl(SStreamTask* pTask, SStreamQueueItem* pItem, int64_t* totalSize, int32_t* totalBlocks) {
int32_t code = TSDB_CODE_SUCCESS;
void* pExecutor = pTask->exec.pExecutor;
-
- *totalBlocks = 0;
- *totalSize = 0;
-
int32_t size = 0;
int32_t numOfBlocks = 0;
SArray* pRes = NULL;
+ *totalBlocks = 0;
+ *totalSize = 0;
+
while (1) {
if (pRes == NULL) {
pRes = taosArrayInit(4, sizeof(SSDataBlock));
@@ -131,7 +130,8 @@ void streamTaskExecImpl(SStreamTask* pTask, SStreamQueueItem* pItem, int64_t* to
if (pItem->type == STREAM_INPUT__DATA_RETRIEVE) {
SSDataBlock block = {0};
const SStreamDataBlock* pRetrieveBlock = (const SStreamDataBlock*)pItem;
- int32_t num = taosArrayGetSize(pRetrieveBlock->blocks);
+
+ int32_t num = taosArrayGetSize(pRetrieveBlock->blocks);
if (num != 1) {
stError("s-task:%s invalid retrieve block number:%d, ignore", pTask->id.idStr, num);
continue;
@@ -596,12 +596,32 @@ void streamProcessTransstateBlock(SStreamTask* pTask, SStreamDataBlock* pBlock)
// static void streamTaskSetIdleInfo(SStreamTask* pTask, int32_t idleTime) { pTask->status.schedIdleTime = idleTime; }
static void setLastExecTs(SStreamTask* pTask, int64_t ts) { pTask->status.lastExecTs = ts; }
+static void doRecordThroughput(STaskExecStatisInfo* pInfo, int64_t totalBlocks, int64_t totalSize, int64_t blockSize,
+ double st, const char* id) {
+ double el = (taosGetTimestampMs() - st) / 1000.0;
+
+ stDebug("s-task:%s batch of input blocks exec end, elapsed time:%.2fs, result size:%.2fMiB, numOfBlocks:%" PRId64, id,
+ el, SIZE_IN_MiB(totalSize), totalBlocks);
+
+ pInfo->outputDataBlocks += totalBlocks;
+ pInfo->outputDataSize += totalSize;
+ if (fabs(el - 0.0) <= DBL_EPSILON) {
+ pInfo->procsThroughput = 0;
+ pInfo->outputThroughput = 0;
+ } else {
+ pInfo->outputThroughput = (totalSize / el);
+ pInfo->procsThroughput = (blockSize / el);
+ }
+}
+
static void doStreamTaskExecImpl(SStreamTask* pTask, SStreamQueueItem* pBlock, int32_t num) {
const char* id = pTask->id.idStr;
int32_t blockSize = 0;
int64_t st = taosGetTimestampMs();
SCheckpointInfo* pInfo = &pTask->chkInfo;
int64_t ver = pInfo->processedVer;
+ int64_t totalSize = 0;
+ int32_t totalBlocks = 0;
stDebug("s-task:%s start to process batch blocks, num:%d, type:%s", id, num, streamQueueItemGetTypeStr(pBlock->type));
@@ -611,23 +631,8 @@ static void doStreamTaskExecImpl(SStreamTask* pTask, SStreamQueueItem* pBlock, i
return;
}
- int64_t totalSize = 0;
- int32_t totalBlocks = 0;
streamTaskExecImpl(pTask, pBlock, &totalSize, &totalBlocks);
-
- double el = (taosGetTimestampMs() - st) / 1000.0;
- stDebug("s-task:%s batch of input blocks exec end, elapsed time:%.2fs, result size:%.2fMiB, numOfBlocks:%d", id, el,
- SIZE_IN_MiB(totalSize), totalBlocks);
-
- pTask->execInfo.outputDataBlocks += totalBlocks;
- pTask->execInfo.outputDataSize += totalSize;
- if (fabs(el - 0.0) <= DBL_EPSILON) {
- pTask->execInfo.procsThroughput = 0;
- pTask->execInfo.outputThroughput = 0;
- } else {
- pTask->execInfo.outputThroughput = (totalSize / el);
- pTask->execInfo.procsThroughput = (blockSize / el);
- }
+ doRecordThroughput(&pTask->execInfo, totalBlocks, totalSize, blockSize, st, pTask->id.idStr);
// update the currentVer if processing the submit blocks.
if (!(pInfo->checkpointVer <= pInfo->nextProcessVer && ver >= pInfo->checkpointVer)) {
diff --git a/source/libs/stream/src/streamMeta.c b/source/libs/stream/src/streamMeta.c
index 084eb7b827..81061cd06d 100644
--- a/source/libs/stream/src/streamMeta.c
+++ b/source/libs/stream/src/streamMeta.c
@@ -1254,16 +1254,7 @@ int32_t streamMetaSendMsgBeforeCloseTasks(SStreamMeta* pMeta, SArray** pList) {
continue;
}
- streamMutexLock(&pTask->lock);
-
- SStreamTaskState pState = streamTaskGetStatus(pTask);
- if (pState.state == TASK_STATUS__CK) {
- streamTaskSetFailedCheckpointId(pTask);
- } else {
- stDebug("s-task:%s status:%s not reset the checkpoint", pTask->id.idStr, pState.name);
- }
-
- streamMutexUnlock(&pTask->lock);
+ streamTaskSetCheckpointFailed(pTask);
streamMetaReleaseTask(pMeta, pTask);
}
diff --git a/source/libs/stream/src/streamQueue.c b/source/libs/stream/src/streamQueue.c
index eca728b2d5..3765d0f9d3 100644
--- a/source/libs/stream/src/streamQueue.c
+++ b/source/libs/stream/src/streamQueue.c
@@ -287,7 +287,7 @@ int32_t streamTaskPutDataIntoInputQ(SStreamTask* pTask, SStreamQueueItem* pItem)
"s-task:%s inputQ is full, capacity(size:%d num:%dMiB), current(blocks:%d, size:%.2fMiB) stop to push data",
pTask->id.idStr, STREAM_TASK_QUEUE_CAPACITY, STREAM_TASK_QUEUE_CAPACITY_IN_SIZE, total, size);
streamDataSubmitDestroy(px);
- return -1;
+ return TSDB_CODE_OUT_OF_MEMORY;
}
int32_t msgLen = px->submit.msgLen;
@@ -312,7 +312,7 @@ int32_t streamTaskPutDataIntoInputQ(SStreamTask* pTask, SStreamQueueItem* pItem)
stTrace("s-task:%s input queue is full, capacity:%d size:%d MiB, current(blocks:%d, size:%.2fMiB) abort",
pTask->id.idStr, STREAM_TASK_QUEUE_CAPACITY, STREAM_TASK_QUEUE_CAPACITY_IN_SIZE, total, size);
streamFreeQitem(pItem);
- return -1;
+ return TSDB_CODE_OUT_OF_MEMORY;
}
int32_t code = taosWriteQitem(pQueue, pItem);
diff --git a/source/libs/stream/src/streamTask.c b/source/libs/stream/src/streamTask.c
index 0791784656..2acfd64b2a 100644
--- a/source/libs/stream/src/streamTask.c
+++ b/source/libs/stream/src/streamTask.c
@@ -1098,15 +1098,12 @@ static int32_t streamTaskEnqueueRetrieve(SStreamTask* pTask, SStreamRetrieveReq*
return terrno = code;
}
- // enqueue
- stDebug("s-task:%s (vgId:%d level:%d) recv retrieve req from task:0x%x(vgId:%d),QID:0x%" PRIx64, pTask->id.idStr,
- pTask->pMeta->vgId, pTask->info.taskLevel, pReq->srcTaskId, pReq->srcNodeId, pReq->reqId);
-
pData->type = STREAM_INPUT__DATA_RETRIEVE;
pData->srcVgId = 0;
code = streamRetrieveReqToData(pReq, pData, pTask->id.idStr);
if (code != TSDB_CODE_SUCCESS) {
+ stError("s-task:%s failed to convert retrieve-data to block, code:%s", pTask->id.idStr, tstrerror(code));
taosFreeQitem(pData);
return code;
}
diff --git a/source/libs/transport/inc/transComm.h b/source/libs/transport/inc/transComm.h
index 84f0ffc8cb..95ea6944e3 100644
--- a/source/libs/transport/inc/transComm.h
+++ b/source/libs/transport/inc/transComm.h
@@ -272,19 +272,19 @@ bool transAsyncPoolIsEmpty(SAsyncPool* pool);
} \
} while (0)
-#define ASYNC_CHECK_HANDLE(exh1, id) \
- do { \
- if (id > 0) { \
- SExHandle* exh2 = transAcquireExHandle(transGetRefMgt(), id); \
- if (exh2 == NULL || id != exh2->refId) { \
- tDebug("ref:%" PRId64 " already released" PRIu64, id); \
- code = terrno; \
- goto _return1; \
- } \
- } else { \
- tWarn("invalid handle to release"); \
- goto _return2; \
- } \
+#define ASYNC_CHECK_HANDLE(exh1, id) \
+ do { \
+ if (id > 0) { \
+ SExHandle* exh2 = transAcquireExHandle(transGetSvrRefMgt(), id); \
+ if (exh2 == NULL || id != exh2->refId) { \
+ tDebug("ref:%" PRId64 " already released", id); \
+ code = terrno; \
+ goto _return1; \
+ } \
+ } else { \
+ tDebug("invalid handle to release"); \
+ goto _return2; \
+ } \
} while (0)
int32_t transInitBuffer(SConnBuffer* buf);
@@ -443,6 +443,7 @@ int32_t transReleaseExHandle(int32_t refMgt, int64_t refId);
void transDestroyExHandle(void* handle);
int32_t transGetRefMgt();
+int32_t transGetSvrRefMgt();
int32_t transGetInstMgt();
int32_t transGetSyncMsgMgt();
diff --git a/source/libs/transport/src/transComm.c b/source/libs/transport/src/transComm.c
index 1758ca65cc..1329489be6 100644
--- a/source/libs/transport/src/transComm.c
+++ b/source/libs/transport/src/transComm.c
@@ -20,6 +20,7 @@
static TdThreadOnce transModuleInit = PTHREAD_ONCE_INIT;
static int32_t refMgt;
+static int32_t svrRefMgt;
static int32_t instMgt;
static int32_t transSyncMsgMgt;
@@ -704,12 +705,14 @@ bool transEpSetIsEqual2(SEpSet* a, SEpSet* b) {
static void transInitEnv() {
refMgt = transOpenRefMgt(50000, transDestroyExHandle);
+ svrRefMgt = transOpenRefMgt(50000, transDestroyExHandle);
instMgt = taosOpenRef(50, rpcCloseImpl);
transSyncMsgMgt = taosOpenRef(50, transDestroySyncMsg);
(void)uv_os_setenv("UV_TCP_SINGLE_ACCEPT", "1");
}
static void transDestroyEnv() {
transCloseRefMgt(refMgt);
+ transCloseRefMgt(svrRefMgt);
transCloseRefMgt(instMgt);
transCloseRefMgt(transSyncMsgMgt);
}
@@ -724,6 +727,7 @@ int32_t transInit() {
}
int32_t transGetRefMgt() { return refMgt; }
+int32_t transGetSvrRefMgt() { return svrRefMgt; }
int32_t transGetInstMgt() { return instMgt; }
int32_t transGetSyncMsgMgt() { return transSyncMsgMgt; }
diff --git a/source/libs/transport/src/transSvr.c b/source/libs/transport/src/transSvr.c
index 53a7dee7be..11aa468b19 100644
--- a/source/libs/transport/src/transSvr.c
+++ b/source/libs/transport/src/transSvr.c
@@ -373,6 +373,7 @@ static bool uvHandleReq(SSvrConn* pConn) {
STrans* pTransInst = pConn->pTransInst;
SWorkThrd* pThrd = pConn->hostThrd;
+ int8_t acquire = 0;
STransMsgHead* pHead = NULL;
int8_t resetBuf = pConn->status == ConnAcquire ? 0 : 1;
@@ -459,7 +460,13 @@ static bool uvHandleReq(SSvrConn* pConn) {
// 2. once send out data, cli conn released to conn pool immediately
// 3. not mixed with persist
transMsg.info.ahandle = (void*)pHead->ahandle;
- transMsg.info.handle = (void*)transAcquireExHandle(transGetRefMgt(), pConn->refId);
+
+ if (pHead->noResp == 1) {
+ transMsg.info.handle = NULL;
+ } else {
+ transMsg.info.handle = (void*)transAcquireExHandle(transGetSvrRefMgt(), pConn->refId);
+ acquire = 1;
+ }
transMsg.info.refId = pConn->refId;
transMsg.info.traceId = pHead->traceId;
transMsg.info.cliVer = htonl(pHead->compatibilityVer);
@@ -468,10 +475,10 @@ static bool uvHandleReq(SSvrConn* pConn) {
tGTrace("%s handle %p conn:%p translated to app, refId:%" PRIu64, transLabel(pTransInst), transMsg.info.handle, pConn,
pConn->refId);
- if (transMsg.info.handle == NULL) {
- tError("%s handle %p conn:%p handle failed to init" PRIu64, transLabel(pTransInst), transMsg.info.handle, pConn);
- return false;
- }
+ // if (transMsg.info.handle == NULL) {
+ // tError("%s handle %p conn:%p handle failed to init" PRIu64, transLabel(pTransInst), transMsg.info.handle, pConn);
+ // return false;
+ // }
if (pHead->noResp == 1) {
transMsg.info.refId = -1;
@@ -483,7 +490,7 @@ static bool uvHandleReq(SSvrConn* pConn) {
pConnInfo->clientPort = pConn->port;
tstrncpy(pConnInfo->user, pConn->user, sizeof(pConnInfo->user));
- (void)transReleaseExHandle(transGetRefMgt(), pConn->refId);
+ if (acquire) transReleaseExHandle(transGetSvrRefMgt(), pConn->refId);
(*pTransInst->cfp)(pTransInst->parent, &transMsg, NULL);
return true;
@@ -770,15 +777,15 @@ void uvWorkerAsyncCb(uv_async_t* handle) {
SExHandle* exh1 = transMsg.info.handle;
int64_t refId = transMsg.info.refId;
- SExHandle* exh2 = transAcquireExHandle(transGetRefMgt(), refId);
+ SExHandle* exh2 = transAcquireExHandle(transGetSvrRefMgt(), refId);
if (exh2 == NULL || exh1 != exh2) {
tTrace("handle except msg %p, ignore it", exh1);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
destroySmsg(msg);
continue;
}
msg->pConn = exh1->handle;
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
(*transAsyncHandle[msg->type])(msg, pThrd);
}
}
@@ -874,15 +881,15 @@ static void uvPrepareCb(uv_prepare_t* handle) {
SExHandle* exh1 = transMsg.info.handle;
int64_t refId = transMsg.info.refId;
- SExHandle* exh2 = transAcquireExHandle(transGetRefMgt(), refId);
+ SExHandle* exh2 = transAcquireExHandle(transGetSvrRefMgt(), refId);
if (exh2 == NULL || exh1 != exh2) {
tTrace("handle except msg %p, ignore it", exh1);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
destroySmsg(msg);
continue;
}
msg->pConn = exh1->handle;
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
(*transAsyncHandle[msg->type])(msg, pThrd);
}
}
@@ -1215,14 +1222,14 @@ static FORCE_INLINE SSvrConn* createConn(void* hThrd) {
exh->handle = pConn;
exh->pThrd = pThrd;
- exh->refId = transAddExHandle(transGetRefMgt(), exh);
+ exh->refId = transAddExHandle(transGetSvrRefMgt(), exh);
if (exh->refId < 0) {
TAOS_CHECK_GOTO(TSDB_CODE_REF_INVALID_ID, NULL, _end);
}
QUEUE_INIT(&exh->q);
- SExHandle* pSelf = transAcquireExHandle(transGetRefMgt(), exh->refId);
+ SExHandle* pSelf = transAcquireExHandle(transGetSvrRefMgt(), exh->refId);
if (pSelf != exh) {
TAOS_CHECK_GOTO(TSDB_CODE_REF_INVALID_ID, NULL, _end);
}
@@ -1284,8 +1291,8 @@ static FORCE_INLINE void destroyConnRegArg(SSvrConn* conn) {
}
static int32_t reallocConnRef(SSvrConn* conn) {
if (conn->refId > 0) {
- (void)transReleaseExHandle(transGetRefMgt(), conn->refId);
- (void)transRemoveExHandle(transGetRefMgt(), conn->refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), conn->refId);
+ (void)transRemoveExHandle(transGetSvrRefMgt(), conn->refId);
}
// avoid app continue to send msg on invalid handle
SExHandle* exh = taosMemoryMalloc(sizeof(SExHandle));
@@ -1295,14 +1302,14 @@ static int32_t reallocConnRef(SSvrConn* conn) {
exh->handle = conn;
exh->pThrd = conn->hostThrd;
- exh->refId = transAddExHandle(transGetRefMgt(), exh);
+ exh->refId = transAddExHandle(transGetSvrRefMgt(), exh);
if (exh->refId < 0) {
taosMemoryFree(exh);
return TSDB_CODE_REF_INVALID_ID;
}
QUEUE_INIT(&exh->q);
- SExHandle* pSelf = transAcquireExHandle(transGetRefMgt(), exh->refId);
+ SExHandle* pSelf = transAcquireExHandle(transGetSvrRefMgt(), exh->refId);
if (pSelf != exh) {
tError("conn %p failed to acquire handle", conn);
taosMemoryFree(exh);
@@ -1321,8 +1328,8 @@ static void uvDestroyConn(uv_handle_t* handle) {
}
SWorkThrd* thrd = conn->hostThrd;
- (void)transReleaseExHandle(transGetRefMgt(), conn->refId);
- (void)transRemoveExHandle(transGetRefMgt(), conn->refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), conn->refId);
+ (void)transRemoveExHandle(transGetSvrRefMgt(), conn->refId);
STrans* pTransInst = thrd->pTransInst;
tDebug("%s conn %p destroy", transLabel(pTransInst), conn);
@@ -1752,15 +1759,15 @@ int32_t transReleaseSrvHandle(void* handle) {
tDebug("%s conn %p start to release", transLabel(pThrd->pTransInst), exh->handle);
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
destroySmsg(m);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return code;
}
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return 0;
_return1:
tDebug("handle %p failed to send to release handle", exh);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return code;
_return2:
tDebug("handle %p failed to send to release handle", exh);
@@ -1803,17 +1810,17 @@ int32_t transSendResponse(const STransMsg* msg) {
tGDebug("conn %p start to send resp (1/2)", exh->handle);
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
destroySmsg(m);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return code;
}
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return 0;
_return1:
tDebug("handle %p failed to send resp", exh);
rpcFreeCont(msg->pCont);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return code;
_return2:
tDebug("handle %p failed to send resp", exh);
@@ -1848,17 +1855,17 @@ int32_t transRegisterMsg(const STransMsg* msg) {
tDebug("%s conn %p start to register brokenlink callback", transLabel(pTransInst), exh->handle);
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
destroySmsg(m);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return code;
}
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return 0;
_return1:
tDebug("handle %p failed to register brokenlink", exh);
rpcFreeCont(msg->pCont);
- (void)transReleaseExHandle(transGetRefMgt(), refId);
+ (void)transReleaseExHandle(transGetSvrRefMgt(), refId);
return code;
_return2:
tDebug("handle %p failed to register brokenlink", exh);
diff --git a/tests/system-test/0-others/information_schema.py b/tests/system-test/0-others/information_schema.py
index 616cd034ab..b342bc7b0e 100644
--- a/tests/system-test/0-others/information_schema.py
+++ b/tests/system-test/0-others/information_schema.py
@@ -222,7 +222,7 @@ class TDTestCase:
tdSql.query("select * from information_schema.ins_columns where db_name ='information_schema'")
tdLog.info(len(tdSql.queryResult))
- tdSql.checkEqual(True, len(tdSql.queryResult) in range(261, 271))
+ tdSql.checkEqual(True, len(tdSql.queryResult) in range(271, 272))
tdSql.query("select * from information_schema.ins_columns where db_name ='performance_schema'")
tdSql.checkEqual(56, len(tdSql.queryResult))
diff --git a/tests/system-test/2-query/percentile.py b/tests/system-test/2-query/percentile.py
index e01aae97c0..46fff0201e 100644
--- a/tests/system-test/2-query/percentile.py
+++ b/tests/system-test/2-query/percentile.py
@@ -124,6 +124,9 @@ class TDTestCase:
tdSql.query(f'select percentile(col1, 9.9, 19.9, 29.9, 39.9, 49.9, 59.9, 69.9, 79.9, 89.9, 99.9) from {self.ntbname}')
tdSql.checkData(0, 0, '[0.891000, 1.791000, 2.691000, 3.591000, 4.491000, 5.391000, 6.291000, 7.191000, 8.091000, 8.991000]')
+ tdSql.query(f'select percentile(col1 * 1e+200, 9.9, 19.9, 29.9, 39.9, 49.9, 59.9, 69.9, 79.9, 89.9, 99.9) from {self.ntbname}')
+ tdSql.checkRows(1);
+
tdSql.error(f'select percentile(col1) from {self.ntbname}')
tdSql.error(f'select percentile(col1, -1) from {self.ntbname}')
tdSql.error(f'select percentile(col1, 101) from {self.ntbname}')
@@ -166,6 +169,9 @@ class TDTestCase:
tdSql.query(f'select percentile(col1, 9.9, 19.9, 29.9, 39.9, 49.9, 59.9, 69.9, 79.9, 89.9, 99.9) from {self.stbname}_0')
tdSql.checkData(0, 0, '[0.891000, 1.791000, 2.691000, 3.591000, 4.491000, 5.391000, 6.291000, 7.191000, 8.091000, 8.991000]')
+ tdSql.query(f'select percentile(col1 * 1e+200, 9.9, 19.9, 29.9, 39.9, 49.9, 59.9, 69.9, 79.9, 89.9, 99.9) from {self.stbname}_0')
+ tdSql.checkRows(1);
+
tdSql.error(f'select percentile(col1) from {self.stbname}_0')
tdSql.error(f'select percentile(col1, -1) from {self.stbname}_0')
tdSql.error(f'select percentile(col1, 101) from {self.stbname}_0')
diff --git a/tests/system-test/7-tmq/tmq_offset.py b/tests/system-test/7-tmq/tmq_offset.py
index 8272449ccb..07d1a4bc04 100644
--- a/tests/system-test/7-tmq/tmq_offset.py
+++ b/tests/system-test/7-tmq/tmq_offset.py
@@ -15,6 +15,10 @@ sys.path.append("./7-tmq")
from tmqCommon import *
class TDTestCase:
+ clientCfgDict = {'debugFlag': 135}
+ updatecfgDict = {'debugFlag': 135, 'asynclog': 0}
+ updatecfgDict["clientCfg"] = clientCfgDict
+
def init(self, conn, logSql, replicaVar=1):
self.replicaVar = int(replicaVar)
tdLog.debug(f"start to excute {__file__}")