From 8ad04a513c67d1437f1038fcfbb954fed7a68ef7 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Wed, 4 Aug 2021 19:21:34 +0800 Subject: [PATCH] [td-5796]: fix the invalid error message. --- src/client/src/tscServer.c | 6 ++++-- src/client/src/tscSubquery.c | 5 +++-- src/client/src/tscUtil.c | 28 +++++++++++++++------------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index 57aefac852..7120d780f9 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -2980,11 +2980,13 @@ int tscRenewTableMeta(SSqlObj *pSql, int32_t tableIndex) { tscGetNumOfTags(pTableMeta), tscGetNumOfColumns(pTableMeta), pTableMeta->id.uid); } + // remove stored tableMeta info in hash table tscRemoveTableMetaBuf(pTableMetaInfo, pSql->self); + tscResetSqlCmd(pCmd, true); - pCmd->pTableMetaMap = tscCleanupTableMetaMap(pCmd->pTableMetaMap); - pCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK); +// pCmd->pTableMetaMap = tscCleanupTableMetaMap(pCmd->pTableMetaMap); +// pCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK); SArray* pNameList = taosArrayInit(1, POINTER_BYTES); SArray* vgroupList = taosArrayInit(1, POINTER_BYTES); diff --git a/src/client/src/tscSubquery.c b/src/client/src/tscSubquery.c index 8c0d642ca6..3816e6d619 100644 --- a/src/client/src/tscSubquery.c +++ b/src/client/src/tscSubquery.c @@ -2721,9 +2721,10 @@ void tscHandleSubqueryError(SRetrieveSupport *trsupport, SSqlObj *pSql, int numO SSqlCmd* pParentCmd = &pParentSql->cmd; STableMetaInfo* pTableMetaInfo = tscGetTableMetaInfoFromCmd(pParentCmd, 0); tscRemoveTableMetaBuf(pTableMetaInfo, pParentSql->self); + tscResetSqlCmd(pParentCmd, true); - pParentCmd->pTableMetaMap = tscCleanupTableMetaMap(pParentCmd->pTableMetaMap); - pParentCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK); +// pParentCmd->pTableMetaMap = tscCleanupTableMetaMap(pParentCmd->pTableMetaMap); +// pParentCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK); pParentSql->res.code = TSDB_CODE_SUCCESS; pParentSql->retry++; diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 694d2b2af6..849cbb3aa8 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -1374,18 +1374,19 @@ void tscResetSqlCmd(SSqlCmd* pCmd, bool clearCachedMeta) { pCmd->insertParam.tagData.dataLen = 0; tscFreeQueryInfo(pCmd, clearCachedMeta); + pCmd->pTableMetaMap = tscCleanupTableMetaMap(pCmd->pTableMetaMap); - if (pCmd->pTableMetaMap != NULL) { - STableMetaVgroupInfo* p = taosHashIterate(pCmd->pTableMetaMap, NULL); - while (p) { - taosArrayDestroy(p->vgroupIdList); - tfree(p->pTableMeta); - p = taosHashIterate(pCmd->pTableMetaMap, p); - } - - taosHashCleanup(pCmd->pTableMetaMap); - pCmd->pTableMetaMap = NULL; - } +// if (pCmd->pTableMetaMap != NULL) { +// STableMetaVgroupInfo* p = taosHashIterate(pCmd->pTableMetaMap, NULL); +// while (p) { +// taosArrayDestroy(p->vgroupIdList); +// tfree(p->pTableMeta); +// p = taosHashIterate(pCmd->pTableMetaMap, p); +// } +// +// taosHashCleanup(pCmd->pTableMetaMap); +// pCmd->pTableMetaMap = NULL; +// } } void* tscCleanupTableMetaMap(SHashObj* pTableMetaMap) { @@ -3845,9 +3846,10 @@ static void tscSubqueryCompleteCallback(void* param, TAOS_RES* tres, int code) { SSqlCmd* pParentCmd = &pParentSql->cmd; STableMetaInfo* pTableMetaInfo = tscGetTableMetaInfoFromCmd(pParentCmd, 0); tscRemoveTableMetaBuf(pTableMetaInfo, pParentSql->self); + tscResetSqlCmd(pParentCmd, true); - pParentCmd->pTableMetaMap = tscCleanupTableMetaMap(pParentCmd->pTableMetaMap); - pParentCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK); +// pParentCmd->pTableMetaMap = tscCleanupTableMetaMap(pParentCmd->pTableMetaMap); +// pParentCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK); pParentSql->res.code = TSDB_CODE_SUCCESS; pParentSql->retry++;