From 77d95c27620112c2d1e27f1fa95c15e88e186e0c Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Thu, 6 May 2021 15:18:43 +0800 Subject: [PATCH] [td-3299]fix the memory leak. --- src/client/src/tscSQLParser.c | 9 +++++---- src/client/src/tscUtil.c | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index e6c2ca12bc..cfec522268 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -7190,7 +7190,8 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf SArray* list = taosArrayGetP(pSqlNode->from->list, 0); SSqlNode* p = taosArrayGetP(list, 0); - code = validateSqlNode(pSql, p, NULL); + SQueryInfo* pQueryInfo = tscGetQueryInfo(&pSql->cmd, 0); + code = validateSqlNode(pSql, p, pQueryInfo); if (code == TSDB_CODE_TSC_ACTION_IN_PROGRESS) { return code; } @@ -7199,8 +7200,6 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf return code; } - pQueryInfo = pCmd->pQueryInfo; - SQueryInfo* current = calloc(1, sizeof(SQueryInfo)); tscInitQueryInfo(current); @@ -7374,12 +7373,14 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf taosArrayPushBatch(pQueryInfo->exprList1, (void*) p, numOfExpr); } +#if 0 SQueryNode* p = qCreateQueryPlan(pQueryInfo); char* s = queryPlanToString(p); - printf("%s\n", s); tfree(s); qDestroyQueryPlan(p); +#endif + return TSDB_CODE_SUCCESS; // Does not build query message here } diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index cb4939ff28..81e91eb58e 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -2364,6 +2364,11 @@ static void freeQueryInfoImpl(SQueryInfo* pQueryInfo) { tscExprDestroy(pQueryInfo->exprList); pQueryInfo->exprList = NULL; + if (pQueryInfo->exprList1 != NULL) { + tscExprDestroy(pQueryInfo->exprList1); + pQueryInfo->exprList1 = NULL; + } + tscColumnListDestroy(pQueryInfo->colList); pQueryInfo->colList = NULL; -- GitLab