[td-11818]Fix memory leak in creating table.
This commit is contained in:
parent
1f16647c97
commit
b3fadd5c93
|
@ -77,10 +77,10 @@ int32_t scheduleExecJob(void *transport, SArray *nodeList, SQueryDag* pDag, stru
|
||||||
/**
|
/**
|
||||||
* Process the query job, generated according to the query physical plan.
|
* Process the query job, generated according to the query physical plan.
|
||||||
* This is a asynchronized API, and is also thread-safety.
|
* This is a asynchronized API, and is also thread-safety.
|
||||||
* @param nodeList Qnode/Vnode address list, element is SQueryNodeAddr
|
* @param pNodeList Qnode/Vnode address list, element is SQueryNodeAddr
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int32_t scheduleAsyncExecJob(void *transport, SArray *nodeList, SQueryDag* pDag, struct SSchJob** pJob);
|
int32_t scheduleAsyncExecJob(void *transport, SArray *pNodeList, SQueryDag* pDag, struct SSchJob** pJob);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch query result from the remote query executor
|
* Fetch query result from the remote query executor
|
||||||
|
|
|
@ -501,6 +501,7 @@ TAOS_RES *taos_query_l(TAOS *taos, const char *sql, int sqlLen) {
|
||||||
}
|
}
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
taosArrayDestroy(pNodeList);
|
||||||
qDestroyQuery(pQueryNode);
|
qDestroyQuery(pQueryNode);
|
||||||
if (NULL != pRequest && TSDB_CODE_SUCCESS != terrno) {
|
if (NULL != pRequest && TSDB_CODE_SUCCESS != terrno) {
|
||||||
pRequest->code = terrno;
|
pRequest->code = terrno;
|
||||||
|
|
|
@ -1288,9 +1288,9 @@ void schDropJobAllTasks(SSchJob *pJob) {
|
||||||
schDropTaskInHashList(pJob, pJob->failTasks);
|
schDropTaskInHashList(pJob, pJob->failTasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t schExecJobImpl(void *transport, SArray *nodeList, SQueryDag* pDag, struct SSchJob** job, bool syncSchedule) {
|
int32_t schExecJobImpl(void *transport, SArray *pNodeList, SQueryDag* pDag, struct SSchJob** job, bool syncSchedule) {
|
||||||
if (nodeList && taosArrayGetSize(nodeList) <= 0) {
|
if (pNodeList && taosArrayGetSize(pNodeList) <= 0) {
|
||||||
qInfo("QID:%"PRIx64" input nodeList is empty", pDag->queryId);
|
qDebug("QID:%"PRIx64" input exec nodeList is empty", pDag->queryId);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
@ -1302,7 +1302,10 @@ int32_t schExecJobImpl(void *transport, SArray *nodeList, SQueryDag* pDag, struc
|
||||||
|
|
||||||
pJob->attr.syncSchedule = syncSchedule;
|
pJob->attr.syncSchedule = syncSchedule;
|
||||||
pJob->transport = transport;
|
pJob->transport = transport;
|
||||||
pJob->nodeList = nodeList;
|
|
||||||
|
if (pNodeList != NULL) {
|
||||||
|
pJob->nodeList = taosArrayDup(pNodeList);
|
||||||
|
}
|
||||||
|
|
||||||
SCH_ERR_JRET(schValidateAndBuildJob(pDag, pJob));
|
SCH_ERR_JRET(schValidateAndBuildJob(pDag, pJob));
|
||||||
|
|
||||||
|
@ -1418,12 +1421,12 @@ int32_t scheduleExecJob(void *transport, SArray *nodeList, SQueryDag* pDag, stru
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t scheduleAsyncExecJob(void *transport, SArray *nodeList, SQueryDag* pDag, struct SSchJob** pJob) {
|
int32_t scheduleAsyncExecJob(void *transport, SArray *pNodeList, SQueryDag* pDag, struct SSchJob** pJob) {
|
||||||
if (NULL == transport || NULL == pDag || NULL == pDag->pSubplans || NULL == pJob) {
|
if (NULL == transport || NULL == pDag || NULL == pDag->pSubplans || NULL == pJob) {
|
||||||
SCH_ERR_RET(TSDB_CODE_QRY_INVALID_INPUT);
|
SCH_ERR_RET(TSDB_CODE_QRY_INVALID_INPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCH_ERR_RET(schExecJobImpl(transport, nodeList, pDag, pJob, false));
|
SCH_ERR_RET(schExecJobImpl(transport, pNodeList, pDag, pJob, false));
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue