fix: update
This commit is contained in:
parent
bc1af6deaf
commit
5200a48107
|
@ -1431,9 +1431,11 @@ static SSDataBlock* doStreamScan(SOperatorInfo* pOperator) {
|
||||||
}
|
}
|
||||||
if (pBlockInfo->rows > 0) {
|
if (pBlockInfo->rows > 0) {
|
||||||
break;
|
break;
|
||||||
|
} else {
|
||||||
|
pInfo->tqReader->pMsg = NULL;
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
/*blockDataCleanup(pInfo->pRes);*/
|
/*blockDataCleanup(pInfo->pRes);*/
|
||||||
pInfo->tqReader->pMsg = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// record the scan action.
|
// record the scan action.
|
||||||
|
|
|
@ -44,7 +44,7 @@ int32_t streamBroadcastToChildren(SStreamTask* pTask, const SSDataBlock* pBlock)
|
||||||
|
|
||||||
int32_t tEncodeStreamRetrieveReq(SEncoder* pEncoder, const SStreamRetrieveReq* pReq);
|
int32_t tEncodeStreamRetrieveReq(SEncoder* pEncoder, const SStreamRetrieveReq* pReq);
|
||||||
|
|
||||||
int32_t streamAppendQueueItem(SStreamQueueItem* dst, SStreamQueueItem* elem);
|
SStreamQueueItem* streamAppendQueueItem(SStreamQueueItem* dst, SStreamQueueItem* elem);
|
||||||
void streamFreeQitem(SStreamQueueItem* data);
|
void streamFreeQitem(SStreamQueueItem* data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -83,6 +83,7 @@ SStreamMergedSubmit* streamMergedSubmitNew() {
|
||||||
pMerged->reqs = taosArrayInit(0, sizeof(void*));
|
pMerged->reqs = taosArrayInit(0, sizeof(void*));
|
||||||
pMerged->dataRefs = taosArrayInit(0, sizeof(int32_t*));
|
pMerged->dataRefs = taosArrayInit(0, sizeof(int32_t*));
|
||||||
if (pMerged->dataRefs == NULL || pMerged->reqs == NULL) goto FAIL;
|
if (pMerged->dataRefs == NULL || pMerged->reqs == NULL) goto FAIL;
|
||||||
|
pMerged->type = STREAM_INPUT__MERGED_SUBMIT;
|
||||||
return pMerged;
|
return pMerged;
|
||||||
FAIL:
|
FAIL:
|
||||||
if (pMerged->reqs) taosArrayDestroy(pMerged->reqs);
|
if (pMerged->reqs) taosArrayDestroy(pMerged->reqs);
|
||||||
|
@ -121,7 +122,7 @@ void streamDataSubmitRefDec(SStreamDataSubmit* pDataSubmit) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t streamAppendQueueItem(SStreamQueueItem* dst, SStreamQueueItem* elem) {
|
SStreamQueueItem* streamAppendQueueItem(SStreamQueueItem* dst, SStreamQueueItem* elem) {
|
||||||
ASSERT(elem);
|
ASSERT(elem);
|
||||||
if (dst->type == STREAM_INPUT__DATA_BLOCK && elem->type == STREAM_INPUT__DATA_BLOCK) {
|
if (dst->type == STREAM_INPUT__DATA_BLOCK && elem->type == STREAM_INPUT__DATA_BLOCK) {
|
||||||
SStreamDataBlock* pBlock = (SStreamDataBlock*)dst;
|
SStreamDataBlock* pBlock = (SStreamDataBlock*)dst;
|
||||||
|
@ -129,13 +130,13 @@ int32_t streamAppendQueueItem(SStreamQueueItem* dst, SStreamQueueItem* elem) {
|
||||||
taosArrayAddAll(pBlock->blocks, pBlockSrc->blocks);
|
taosArrayAddAll(pBlock->blocks, pBlockSrc->blocks);
|
||||||
taosArrayDestroy(pBlockSrc->blocks);
|
taosArrayDestroy(pBlockSrc->blocks);
|
||||||
taosFreeQitem(elem);
|
taosFreeQitem(elem);
|
||||||
return 0;
|
return dst;
|
||||||
} else if (dst->type == STREAM_INPUT__MERGED_SUBMIT && elem->type == STREAM_INPUT__DATA_SUBMIT) {
|
} else if (dst->type == STREAM_INPUT__MERGED_SUBMIT && elem->type == STREAM_INPUT__DATA_SUBMIT) {
|
||||||
SStreamMergedSubmit* pMerged = (SStreamMergedSubmit*)dst;
|
SStreamMergedSubmit* pMerged = (SStreamMergedSubmit*)dst;
|
||||||
SStreamDataSubmit* pBlockSrc = (SStreamDataSubmit*)elem;
|
SStreamDataSubmit* pBlockSrc = (SStreamDataSubmit*)elem;
|
||||||
streamMergeSubmit(pMerged, pBlockSrc);
|
streamMergeSubmit(pMerged, pBlockSrc);
|
||||||
taosFreeQitem(elem);
|
taosFreeQitem(elem);
|
||||||
return 0;
|
return dst;
|
||||||
} else if (dst->type == STREAM_INPUT__DATA_SUBMIT && elem->type == STREAM_INPUT__DATA_SUBMIT) {
|
} else if (dst->type == STREAM_INPUT__DATA_SUBMIT && elem->type == STREAM_INPUT__DATA_SUBMIT) {
|
||||||
SStreamMergedSubmit* pMerged = streamMergedSubmitNew();
|
SStreamMergedSubmit* pMerged = streamMergedSubmitNew();
|
||||||
ASSERT(pMerged);
|
ASSERT(pMerged);
|
||||||
|
@ -143,9 +144,9 @@ int32_t streamAppendQueueItem(SStreamQueueItem* dst, SStreamQueueItem* elem) {
|
||||||
streamMergeSubmit(pMerged, (SStreamDataSubmit*)elem);
|
streamMergeSubmit(pMerged, (SStreamDataSubmit*)elem);
|
||||||
taosFreeQitem(dst);
|
taosFreeQitem(dst);
|
||||||
taosFreeQitem(elem);
|
taosFreeQitem(elem);
|
||||||
return 0;
|
return (SStreamQueueItem*)pMerged;
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -162,11 +162,13 @@ static SArray* streamExecForQall(SStreamTask* pTask, SArray* pRes) {
|
||||||
/*streamUpdateVer(pTask, (SStreamDataBlock*)qItem);*/
|
/*streamUpdateVer(pTask, (SStreamDataBlock*)qItem);*/
|
||||||
/*}*/
|
/*}*/
|
||||||
} else {
|
} else {
|
||||||
if (streamAppendQueueItem(data, qItem) < 0) {
|
void* newRet;
|
||||||
|
if ((newRet = streamAppendQueueItem(data, qItem)) == NULL) {
|
||||||
streamQueueProcessFail(pTask->inputQueue);
|
streamQueueProcessFail(pTask->inputQueue);
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
cnt++;
|
cnt++;
|
||||||
|
data = newRet;
|
||||||
/*streamUpdateVer(pTask, (SStreamDataBlock*)qItem);*/
|
/*streamUpdateVer(pTask, (SStreamDataBlock*)qItem);*/
|
||||||
streamQueueProcessSuccess(pTask->inputQueue);
|
streamQueueProcessSuccess(pTask->inputQueue);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue