fix(query): fix the invalid read.
This commit is contained in:
parent
1cd2268a99
commit
3ee3b16ebb
|
@ -826,7 +826,7 @@ void setTaskKilled(SExecTaskInfo* pTaskInfo, int32_t rspCode);
|
||||||
void doDestroyTask(SExecTaskInfo* pTaskInfo);
|
void doDestroyTask(SExecTaskInfo* pTaskInfo);
|
||||||
void setTaskStatus(SExecTaskInfo* pTaskInfo, int8_t status);
|
void setTaskStatus(SExecTaskInfo* pTaskInfo, int8_t status);
|
||||||
|
|
||||||
char* buildTaskId(uint64_t taskId, uint64_t queryId);
|
void buildTaskId(uint64_t taskId, uint64_t queryId, char* dst);
|
||||||
|
|
||||||
SArray* getTableListInfo(const SExecTaskInfo* pTaskInfo);
|
SArray* getTableListInfo(const SExecTaskInfo* pTaskInfo);
|
||||||
|
|
||||||
|
|
|
@ -173,9 +173,7 @@ void doSetTaskId(SOperatorInfo* pOperator) {
|
||||||
void qSetTaskId(qTaskInfo_t tinfo, uint64_t taskId, uint64_t queryId) {
|
void qSetTaskId(qTaskInfo_t tinfo, uint64_t taskId, uint64_t queryId) {
|
||||||
SExecTaskInfo* pTaskInfo = tinfo;
|
SExecTaskInfo* pTaskInfo = tinfo;
|
||||||
pTaskInfo->id.queryId = queryId;
|
pTaskInfo->id.queryId = queryId;
|
||||||
|
buildTaskId(taskId, queryId, pTaskInfo->id.str);
|
||||||
taosMemoryFreeClear(pTaskInfo->id.str);
|
|
||||||
pTaskInfo->id.str = buildTaskId(taskId, queryId);
|
|
||||||
|
|
||||||
// set the idstr for tsdbReader
|
// set the idstr for tsdbReader
|
||||||
doSetTaskId(pTaskInfo->pRoot);
|
doSetTaskId(pTaskInfo->pRoot);
|
||||||
|
|
|
@ -1151,8 +1151,8 @@ void cleanupExprSupp(SExprSupp* pSupp) {
|
||||||
|
|
||||||
void cleanupBasicInfo(SOptrBasicInfo* pInfo) { pInfo->pRes = blockDataDestroy(pInfo->pRes); }
|
void cleanupBasicInfo(SOptrBasicInfo* pInfo) { pInfo->pRes = blockDataDestroy(pInfo->pRes); }
|
||||||
|
|
||||||
char* buildTaskId(uint64_t taskId, uint64_t queryId) {
|
void buildTaskId(uint64_t taskId, uint64_t queryId, char* dst) {
|
||||||
char* p = taosMemoryMalloc(64);
|
char* p = dst;
|
||||||
|
|
||||||
int32_t offset = 6;
|
int32_t offset = 6;
|
||||||
memcpy(p, "TID:0x", offset);
|
memcpy(p, "TID:0x", offset);
|
||||||
|
@ -1163,7 +1163,6 @@ char* buildTaskId(uint64_t taskId, uint64_t queryId) {
|
||||||
offset += tintToHex(queryId, &p[offset]);
|
offset += tintToHex(queryId, &p[offset]);
|
||||||
|
|
||||||
p[offset] = 0;
|
p[offset] = 0;
|
||||||
return p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SExecTaskInfo* doCreateExecTaskInfo(uint64_t queryId, uint64_t taskId, int32_t vgId, EOPTR_EXEC_MODEL model,
|
SExecTaskInfo* doCreateExecTaskInfo(uint64_t queryId, uint64_t taskId, int32_t vgId, EOPTR_EXEC_MODEL model,
|
||||||
|
@ -1185,7 +1184,9 @@ SExecTaskInfo* doCreateExecTaskInfo(uint64_t queryId, uint64_t taskId, int32_t v
|
||||||
taosInitRWLatch(&pTaskInfo->lock);
|
taosInitRWLatch(&pTaskInfo->lock);
|
||||||
pTaskInfo->id.vgId = vgId;
|
pTaskInfo->id.vgId = vgId;
|
||||||
pTaskInfo->id.queryId = queryId;
|
pTaskInfo->id.queryId = queryId;
|
||||||
pTaskInfo->id.str = buildTaskId(taskId, queryId);
|
|
||||||
|
pTaskInfo->id.str = taosMemoryMalloc(64);
|
||||||
|
buildTaskId(taskId, queryId, pTaskInfo->id.str);
|
||||||
return pTaskInfo;
|
return pTaskInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue