[td-3299]fix the memory leak.

This commit is contained in:
Haojun Liao 2021-05-06 15:18:43 +08:00
parent d57b94599f
commit 77d95c2762
2 changed files with 10 additions and 4 deletions

View File

@ -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
}

View File

@ -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;