From 51c24d2dc6ed10c60f9221119879920d1c8e6106 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Fri, 21 Oct 2022 19:59:44 +0800 Subject: [PATCH 01/10] avoid err msg --- source/client/src/clientMsgHandler.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/source/client/src/clientMsgHandler.c b/source/client/src/clientMsgHandler.c index 945562ef36..103e03a7e0 100644 --- a/source/client/src/clientMsgHandler.c +++ b/source/client/src/clientMsgHandler.c @@ -46,9 +46,11 @@ int32_t genericRspCallback(void* param, SDataBuf* pMsg, int32_t code) { int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { SRequestObj* pRequest = param; + + taosMemoryFree(pMsg->pEpSet); + taosMemoryFree(pMsg->pData); + if (code != TSDB_CODE_SUCCESS) { - taosMemoryFree(pMsg->pEpSet); - taosMemoryFree(pMsg->pData); setErrno(pRequest, code); tsem_post(&pRequest->body.rspSem); return code; @@ -57,15 +59,18 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { STscObj* pTscObj = pRequest->pTscObj; SConnectRsp connectRsp = {0}; - tDeserializeSConnectRsp(pMsg->pData, pMsg->len, &connectRsp); + if (tDeserializeSConnectRsp(pMsg->pData, pMsg->len, &connectRsp) != 0) { + code = TSDB_CODE_TSC_INVALID_VERSION; + setErrno(pRequest, code); + tsem_post(&pRequest->body.rspSem); + return code; + } int32_t now = taosGetTimestampSec(); int32_t delta = abs(now - connectRsp.svrTimestamp); if (delta > timestampDeltaLimit) { code = TSDB_CODE_TIME_UNSYNCED; tscError("time diff:%ds is too big", delta); - taosMemoryFree(pMsg->pEpSet); - taosMemoryFree(pMsg->pData); setErrno(pRequest, code); tsem_post(&pRequest->body.rspSem); return code; @@ -73,8 +78,6 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { /*assert(connectRsp.epSet.numOfEps > 0);*/ if (connectRsp.epSet.numOfEps == 0) { - taosMemoryFree(pMsg->pEpSet); - taosMemoryFree(pMsg->pData); setErrno(pRequest, TSDB_CODE_MND_APP_ERROR); tsem_post(&pRequest->body.rspSem); return code; @@ -113,12 +116,9 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { hbRegisterConn(pTscObj->pAppInfo->pAppHbMgr, pTscObj->id, connectRsp.clusterId, connectRsp.connType); - // pRequest->body.resInfo.pRspMsg = pMsg->pData; tscDebug("0x%" PRIx64 " clusterId:%" PRId64 ", totalConn:%" PRId64, pRequest->requestId, connectRsp.clusterId, pTscObj->pAppInfo->numOfConns); - taosMemoryFree(pMsg->pData); - taosMemoryFree(pMsg->pEpSet); tsem_post(&pRequest->body.rspSem); return 0; } @@ -194,7 +194,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) { SUseDbRsp usedbRsp = {0}; tDeserializeSUseDbRsp(pMsg->pData, pMsg->len, &usedbRsp); - if(strlen(usedbRsp.db) == 0){ + if (strlen(usedbRsp.db) == 0) { return TSDB_CODE_MND_DB_NOT_EXIST; } @@ -292,7 +292,7 @@ int32_t processDropDbRsp(void* param, SDataBuf* pMsg, int32_t code) { tDeserializeSDropDbRsp(pMsg->pData, pMsg->len, &dropdbRsp); struct SCatalog* pCatalog = NULL; - int32_t code = catalogGetHandle(pRequest->pTscObj->pAppInfo->clusterId, &pCatalog); + int32_t code = catalogGetHandle(pRequest->pTscObj->pAppInfo->clusterId, &pCatalog); if (TSDB_CODE_SUCCESS == code) { catalogRemoveDB(pCatalog, dropdbRsp.db, dropdbRsp.uid); } From a9ec68c87f4f339716097f0f255aea5e21451d86 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Fri, 21 Oct 2022 20:05:29 +0800 Subject: [PATCH 02/10] avoid err msg --- source/client/src/clientMsgHandler.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/source/client/src/clientMsgHandler.c b/source/client/src/clientMsgHandler.c index 103e03a7e0..e586018c19 100644 --- a/source/client/src/clientMsgHandler.c +++ b/source/client/src/clientMsgHandler.c @@ -47,13 +47,10 @@ int32_t genericRspCallback(void* param, SDataBuf* pMsg, int32_t code) { int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { SRequestObj* pRequest = param; - taosMemoryFree(pMsg->pEpSet); - taosMemoryFree(pMsg->pData); - if (code != TSDB_CODE_SUCCESS) { setErrno(pRequest, code); tsem_post(&pRequest->body.rspSem); - return code; + goto End; } STscObj* pTscObj = pRequest->pTscObj; @@ -63,7 +60,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { code = TSDB_CODE_TSC_INVALID_VERSION; setErrno(pRequest, code); tsem_post(&pRequest->body.rspSem); - return code; + goto End; } int32_t now = taosGetTimestampSec(); @@ -73,14 +70,14 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { tscError("time diff:%ds is too big", delta); setErrno(pRequest, code); tsem_post(&pRequest->body.rspSem); - return code; + goto End; } /*assert(connectRsp.epSet.numOfEps > 0);*/ if (connectRsp.epSet.numOfEps == 0) { setErrno(pRequest, TSDB_CODE_MND_APP_ERROR); tsem_post(&pRequest->body.rspSem); - return code; + goto End; } if (connectRsp.dnodeNum == 1) { @@ -120,7 +117,11 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) { pTscObj->pAppInfo->numOfConns); tsem_post(&pRequest->body.rspSem); - return 0; +End: + + taosMemoryFree(pMsg->pEpSet); + taosMemoryFree(pMsg->pData); + return code; } SMsgSendInfo* buildMsgInfoImpl(SRequestObj* pRequest) { From 633a989892977c54c6971197c3717700cb6aee73 Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 22 Oct 2022 13:34:07 +0800 Subject: [PATCH 03/10] enh: add warn log for abnormal monitor value --- source/dnode/mgmt/mgmt_vnode/src/vmHandle.c | 2 +- source/dnode/vnode/src/vnd/vnodeQuery.c | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c b/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c index b81e2d886d..0e4855bf0a 100644 --- a/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c +++ b/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c @@ -66,7 +66,7 @@ void vmGetMonitorInfo(SVnodeMgmt *pMgmt, SMonVmInfo *pInfo) { pInfo->vstat.totalVnodes = totalVnodes; pInfo->vstat.masterNum = masterNum; - pInfo->vstat.numOfSelectReqs = numOfSelectReqs - pMgmt->state.numOfSelectReqs; + pInfo->vstat.numOfSelectReqs = numOfSelectReqs; pInfo->vstat.numOfInsertReqs = numOfInsertReqs; // delta pInfo->vstat.numOfInsertSuccessReqs = numOfInsertSuccessReqs; // delta pInfo->vstat.numOfBatchInsertReqs = numOfBatchInsertReqs; // delta diff --git a/source/dnode/vnode/src/vnd/vnodeQuery.c b/source/dnode/vnode/src/vnd/vnodeQuery.c index 9adef918ba..2c7f6f662c 100644 --- a/source/dnode/vnode/src/vnd/vnodeQuery.c +++ b/source/dnode/vnode/src/vnd/vnodeQuery.c @@ -15,10 +15,13 @@ #include "vnd.h" -#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType) \ - do { \ - int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ - ASSERT(newVal >= 0); \ +#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ + do { \ + int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ + ASSERT(newVal >= 0); \ + if (newVal < 0) { \ + vWarn("vgId:%d %s abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, pVar, oVal); \ + } \ } while (0) int vnodeQueryOpen(SVnode *pVnode) { @@ -435,10 +438,10 @@ int32_t vnodeGetLoad(SVnode *pVnode, SVnodeLoad *pLoad) { * @param pLoad */ void vnodeResetLoad(SVnode *pVnode, SVnodeLoad *pLoad) { - VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nInsert, pLoad->numOfInsertReqs, 64); - VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nInsertSuccess, pLoad->numOfInsertSuccessReqs, 64); - VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nBatchInsert, pLoad->numOfBatchInsertReqs, 64); - VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nBatchInsertSuccess, pLoad->numOfBatchInsertSuccessReqs, 64); + VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nInsert, pLoad->numOfInsertReqs, 64, "nInsert"); + VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nInsertSuccess, pLoad->numOfInsertSuccessReqs, 64, "nInsertSuccess"); + VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nBatchInsert, pLoad->numOfBatchInsertReqs, 64, "nBatchInsert"); + VNODE_GET_LOAD_RESET_VALS(pVnode->statis.nBatchInsertSuccess, pLoad->numOfBatchInsertSuccessReqs, 64, "nBatchInsertSuccess"); } void vnodeGetInfo(SVnode *pVnode, const char **dbname, int32_t *vgId) { From 75ee92e98958fcb6e5b8dc1a111583c40f8e709b Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 22 Oct 2022 13:41:52 +0800 Subject: [PATCH 04/10] enh: add warn log for abnormal monitor value --- source/dnode/vnode/src/vnd/vnodeQuery.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/dnode/vnode/src/vnd/vnodeQuery.c b/source/dnode/vnode/src/vnd/vnodeQuery.c index 2c7f6f662c..7aff837906 100644 --- a/source/dnode/vnode/src/vnd/vnodeQuery.c +++ b/source/dnode/vnode/src/vnd/vnodeQuery.c @@ -15,13 +15,13 @@ #include "vnd.h" -#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ - do { \ - int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ - ASSERT(newVal >= 0); \ - if (newVal < 0) { \ - vWarn("vgId:%d %s abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, pVar, oVal); \ - } \ +#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ + do { \ + int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ + ASSERT(newVal >= 0); \ + if (newVal >= 0) { \ + vWarn("vgId:%d %s, abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, pVar, oVal); \ + } \ } while (0) int vnodeQueryOpen(SVnode *pVnode) { From c02989f44a26453bb519504fe00908ceac5d497e Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 22 Oct 2022 13:42:37 +0800 Subject: [PATCH 05/10] enh: add warn log for abnormal monitor value --- source/dnode/vnode/src/vnd/vnodeQuery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/dnode/vnode/src/vnd/vnodeQuery.c b/source/dnode/vnode/src/vnd/vnodeQuery.c index 7aff837906..01532b47d7 100644 --- a/source/dnode/vnode/src/vnd/vnodeQuery.c +++ b/source/dnode/vnode/src/vnd/vnodeQuery.c @@ -19,7 +19,7 @@ do { \ int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ ASSERT(newVal >= 0); \ - if (newVal >= 0) { \ + if (newVal < 0) { \ vWarn("vgId:%d %s, abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, pVar, oVal); \ } \ } while (0) From 949ccc692ff338fea758d2c1e72cfeb90ced7d68 Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 22 Oct 2022 13:55:28 +0800 Subject: [PATCH 06/10] enh: add warn log for abnormal monitor value --- source/dnode/vnode/src/vnd/vnodeQuery.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/dnode/vnode/src/vnd/vnodeQuery.c b/source/dnode/vnode/src/vnd/vnodeQuery.c index 01532b47d7..44671668ba 100644 --- a/source/dnode/vnode/src/vnd/vnodeQuery.c +++ b/source/dnode/vnode/src/vnd/vnodeQuery.c @@ -15,13 +15,13 @@ #include "vnd.h" -#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ - do { \ - int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ - ASSERT(newVal >= 0); \ - if (newVal < 0) { \ - vWarn("vgId:%d %s, abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, pVar, oVal); \ - } \ +#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ + do { \ + int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ + ASSERT(newVal >= 0); \ + if (newVal < 0) { \ + vWarn("vgId:%d %s, abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, newVal, oVal); \ + } \ } while (0) int vnodeQueryOpen(SVnode *pVnode) { From cebee295e2bb4b5d7840d16f1b6bc8f8d89742af Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 22 Oct 2022 16:09:22 +0800 Subject: [PATCH 07/10] enh: add warn log for abnormal monitor value --- source/dnode/vnode/src/vnd/vnodeQuery.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/dnode/vnode/src/vnd/vnodeQuery.c b/source/dnode/vnode/src/vnd/vnodeQuery.c index 44671668ba..f1bbb2d4b3 100644 --- a/source/dnode/vnode/src/vnd/vnodeQuery.c +++ b/source/dnode/vnode/src/vnd/vnodeQuery.c @@ -15,13 +15,13 @@ #include "vnd.h" -#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ - do { \ - int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ - ASSERT(newVal >= 0); \ - if (newVal < 0) { \ - vWarn("vgId:%d %s, abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, newVal, oVal); \ - } \ +#define VNODE_GET_LOAD_RESET_VALS(pVar, oVal, vType, tags) \ + do { \ + int##vType##_t newVal = atomic_sub_fetch_##vType(&(pVar), (oVal)); \ + ASSERT(newVal >= 0); \ + if (newVal < 0) { \ + vWarn("vgId:%d %s, abnormal val:%" PRIi64 ", old val:%" PRIi64, TD_VID(pVnode), tags, newVal, (oVal)); \ + } \ } while (0) int vnodeQueryOpen(SVnode *pVnode) { From 5f30656c12c4b3d8f6db3a2b2c734cca4c0a68ca Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Sat, 22 Oct 2022 17:36:36 +0800 Subject: [PATCH 08/10] chore: add taows-rs dir to .gitignore (#17539) * chore: rm tools/taosws-rs * chore: add taosws-rs to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5f1e24109d..65e03e1933 100644 --- a/.gitignore +++ b/.gitignore @@ -127,4 +127,5 @@ tools/THANKS tools/NEWS tools/COPYING tools/BUGS -tools/taos-tools \ No newline at end of file +tools/taos-tools +tools/taosws-rs From 4f5a38b7860be7d4e084d29528be0d7b827e328d Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 22 Oct 2022 18:01:43 +0800 Subject: [PATCH 09/10] fix: null column value when build rsma result --- source/common/src/tdatablock.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c index fda1a05290..64f56212af 100644 --- a/source/common/src/tdatablock.c +++ b/source/common/src/tdatablock.c @@ -2030,21 +2030,24 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq** pReq, const SSDataBlock* pDataB tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID, TSDB_DATA_TYPE_TIMESTAMP, TD_VTYPE_NORM, var, true, offset, k); + } else if (colDataIsNull_s(pColInfoData, j)) { + tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, TSDB_DATA_TYPE_TIMESTAMP, TD_VTYPE_NULL, NULL, + false, offset, k); } else { tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, TSDB_DATA_TYPE_TIMESTAMP, TD_VTYPE_NORM, var, true, offset, k); } break; - case TSDB_DATA_TYPE_NCHAR: { - void* data = colDataGetData(pColInfoData, j); - tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, TSDB_DATA_TYPE_NCHAR, TD_VTYPE_NORM, data, true, - offset, k); - break; - } + case TSDB_DATA_TYPE_NCHAR: case TSDB_DATA_TYPE_VARCHAR: { // TSDB_DATA_TYPE_BINARY - void* data = colDataGetData(pColInfoData, j); - tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, TSDB_DATA_TYPE_VARCHAR, TD_VTYPE_NORM, data, true, - offset, k); + if (colDataIsNull_s(pColInfoData, j)) { + tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, pColInfoData->info.type, TD_VTYPE_NULL, NULL, + false, offset, k); + } else { + void* data = colDataGetData(pColInfoData, j); + tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, pColInfoData->info.type, TD_VTYPE_NORM, data, + true, offset, k); + } break; } case TSDB_DATA_TYPE_VARBINARY: @@ -2057,7 +2060,10 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq** pReq, const SSDataBlock* pDataB break; default: if (pColInfoData->info.type < TSDB_DATA_TYPE_MAX && pColInfoData->info.type > TSDB_DATA_TYPE_NULL) { - if (pCol->type == pColInfoData->info.type) { + if (colDataIsNull_s(pColInfoData, j)) { + tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, pCol->type, TD_VTYPE_NULL, NULL, false, offset, + k); + } else if (pCol->type == pColInfoData->info.type) { tdAppendColValToRow(&rb, PRIMARYKEY_TIMESTAMP_COL_ID + k, pCol->type, TD_VTYPE_NORM, var, true, offset, k); } else { From 0286fab538f17d33ed2b5e44e461a14131328661 Mon Sep 17 00:00:00 2001 From: Zhiqiang Wang <1296468573@qq.com> Date: Sat, 22 Oct 2022 20:23:38 +0800 Subject: [PATCH 10/10] fix: func basename error (#17547) * fix: func basename error * chore: add cargo update Co-authored-by: Shuduo Sang --- packaging/tools/post.sh | 1 + source/os/src/osDir.c | 11 +++++++++-- tools/CMakeLists.txt | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packaging/tools/post.sh b/packaging/tools/post.sh index 708a93c4fa..37307f0543 100755 --- a/packaging/tools/post.sh +++ b/packaging/tools/post.sh @@ -118,6 +118,7 @@ function kill_taosd() { } function install_include() { + ${csudo}mkdir -p ${inc_link_dir} ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h ${inc_link_dir}/taosudf.h || : [ -f ${inc_link_dir}/taosws.h ] && ${csudo}rm -f ${inc_link_dir}/taosws.h ||: diff --git a/source/os/src/osDir.c b/source/os/src/osDir.c index 2902f90f7b..ca99742773 100644 --- a/source/os/src/osDir.c +++ b/source/os/src/osDir.c @@ -388,8 +388,15 @@ char *taosDirEntryBaseName(char *name) { _splitpath(name, NULL, NULL, Filename1, Ext1); return name + (strlen(name) - strlen(Filename1) - strlen(Ext1)); #else - char *pPoint = strchr(name, '.'); - if (pPoint != NULL) pPoint = 0; + if (name == NULL || (name[0] == '/' && name[1] == '\0')) return name; + char *pPoint = strrchr(name, '/'); + if (pPoint != NULL) { + if (*(pPoint + 1) == '\0') { + *pPoint = '\0'; + return taosDirEntryBaseName(name); + } + return pPoint + 1; + } return name; #endif } diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 98d21a4f2c..c6a5e33735 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -17,7 +17,8 @@ IF (TD_WEBSOCKET) PATCH_COMMAND COMMAND git clean -f -d BUILD_COMMAND - COMMAND cargo build --release -p taos-ws-sys + COMMAND cargo update + COMMAND cargo build --release -p taos-ws-sys --features native-tls-vendored COMMAND ./taos-ws-sys/ci/package.sh INSTALL_COMMAND COMMAND cmake -E copy target/libtaosws/${websocket_lib_file} ${CMAKE_BINARY_DIR}/build/lib @@ -36,7 +37,8 @@ IF (TD_WEBSOCKET) PATCH_COMMAND COMMAND git clean -f -d BUILD_COMMAND - COMMAND cargo build --release -p taos-ws-sys + COMMAND cargo update + COMMAND cargo build --release -p taos-ws-sys --features native-tls-vendored COMMAND ./taos-ws-sys/ci/package.sh INSTALL_COMMAND COMMAND cmake -E copy target/libtaosws/${websocket_lib_file} ${CMAKE_BINARY_DIR}/build/lib