提交 60c357a5 编写于 作者: H Haojun Liao

[td-225] fix error for super table subqueries.

上级 f4f196e9
......@@ -219,7 +219,7 @@ void tscProcessMsgFromServer(SRpcMsg *rpcMsg, SRpcIpSet *pIpSet) {
STscObj *pObj = pSql->pTscObj;
// tscTrace("%p msg:%s is received from server", pSql, taosMsg[rpcMsg->msgType]);
if (pObj->signature != pObj) {
if (pObj->signature != pObj || pSql->freed == 1) {
tscTrace("%p sql is already released or DB connection is closed, freed:%d pObj:%p signature:%p", pSql, pSql->freed,
pObj, pObj->signature);
tscFreeSqlObj(pSql);
......
......@@ -522,7 +522,14 @@ void taos_free_result(TAOS_RES *res) {
// in case of sync model query, waits for response and then goes on
if (pSql->fp == waitForQueryRsp || pSql->fp == waitForRetrieveRsp) {
sem_wait(&pSql->rspSem);
tscFreeSqlObj(pSql);
tscTrace("%p sqlObj is freed by app", pSql);
} else {
tscTrace("%p sqlObj will be freed while rsp received", pSql);
}
return;
}
tscFreeSqlObj(pSql);
......
......@@ -90,7 +90,7 @@ static int32_t vnodeProcessQueryMsg(SVnodeObj *pVnode, SReadMsg *pReadMsg) {
assert(pReadMsg->rpcMsg.contLen > 0 && killQueryMsg->free == 1);
qKillQuery((qinfo_t) killQueryMsg->qhandle);
return TSDB_CODE_SUCCESS;
return TSDB_CODE_TSC_QUERY_CANCELLED; // todo error
}
int32_t code = TSDB_CODE_SUCCESS;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册