diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index e6c2ca12bcd45b2018cf0388a2b6fedd23fe48bd..cfec522268bc78b1b78edcf0291855481a0683e7 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 cb4939ff2826be03abdfd67ecae1c3b6853e5c67..81e91eb58e6578eed12ea872b376d1d2611ce355 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;