adj operator result
This commit is contained in:
parent
3660b6cede
commit
d02617aaf6
|
@ -131,11 +131,11 @@ SFillInfo* taosCreateFillInfo(TSKEY skey, int32_t numOfFillCols, int32_t numOfNo
|
||||||
int32_t order, const char* id);
|
int32_t order, const char* id);
|
||||||
|
|
||||||
void* taosDestroyFillInfo(struct SFillInfo* pFillInfo);
|
void* taosDestroyFillInfo(struct SFillInfo* pFillInfo);
|
||||||
int64_t taosFillResultDataBlock(struct SFillInfo* pFillInfo, SSDataBlock* p, int32_t capacity);
|
void taosFillResultDataBlock(struct SFillInfo* pFillInfo, SSDataBlock* p, int32_t capacity);
|
||||||
int64_t getFillInfoStart(struct SFillInfo* pFillInfo);
|
int64_t getFillInfoStart(struct SFillInfo* pFillInfo);
|
||||||
|
|
||||||
bool fillIfWindowPseudoColumn(SFillInfo* pFillInfo, SFillColInfo* pCol, SColumnInfoData* pDstColInfoData,
|
bool fillIfWindowPseudoColumn(SFillInfo* pFillInfo, SFillColInfo* pCol, SColumnInfoData* pDstColInfoData,
|
||||||
int32_t rowIndex);
|
int32_t rowIndex);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -85,12 +85,7 @@ static void doHandleRemainBlockForNewGroupImpl(SOperatorInfo* pOperator, SFillOp
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t numOfResultRows = pResultInfo->capacity - pResBlock->info.rows;
|
int32_t numOfResultRows = pResultInfo->capacity - pResBlock->info.rows;
|
||||||
int32_t code = taosFillResultDataBlock(pInfo->pFillInfo, pResBlock, numOfResultRows);
|
taosFillResultDataBlock(pInfo->pFillInfo, pResBlock, numOfResultRows);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
|
||||||
qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
|
|
||||||
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
|
||||||
T_LONG_JMP(pTaskInfo->env, code);
|
|
||||||
}
|
|
||||||
|
|
||||||
pInfo->curGroupId = pInfo->existNewGroupBlock->info.id.groupId;
|
pInfo->curGroupId = pInfo->existNewGroupBlock->info.id.groupId;
|
||||||
pInfo->existNewGroupBlock = NULL;
|
pInfo->existNewGroupBlock = NULL;
|
||||||
|
@ -101,11 +96,7 @@ static void doHandleRemainBlockFromNewGroup(SOperatorInfo* pOperator, SFillOpera
|
||||||
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
||||||
if (taosFillHasMoreResults(pInfo->pFillInfo)) {
|
if (taosFillHasMoreResults(pInfo->pFillInfo)) {
|
||||||
int32_t numOfResultRows = pResultInfo->capacity - pInfo->pFinalRes->info.rows;
|
int32_t numOfResultRows = pResultInfo->capacity - pInfo->pFinalRes->info.rows;
|
||||||
int32_t code = taosFillResultDataBlock(pInfo->pFillInfo, pInfo->pFinalRes, numOfResultRows);
|
taosFillResultDataBlock(pInfo->pFillInfo, pInfo->pFinalRes, numOfResultRows);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
|
||||||
qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
|
|
||||||
T_LONG_JMP(pTaskInfo->env, code);
|
|
||||||
}
|
|
||||||
pInfo->pRes->info.id.groupId = pInfo->curGroupId;
|
pInfo->pRes->info.id.groupId = pInfo->curGroupId;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -278,8 +269,7 @@ static SSDataBlock* doFillImpl(SOperatorInfo* pOperator) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t numOfResultRows = pOperator->resultInfo.capacity - pResBlock->info.rows;
|
int32_t numOfResultRows = pOperator->resultInfo.capacity - pResBlock->info.rows;
|
||||||
code = taosFillResultDataBlock(pInfo->pFillInfo, pResBlock, numOfResultRows);
|
taosFillResultDataBlock(pInfo->pFillInfo, pResBlock, numOfResultRows);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
|
||||||
|
|
||||||
// current group has no more result to return
|
// current group has no more result to return
|
||||||
if (pResBlock->info.rows > 0) {
|
if (pResBlock->info.rows > 0) {
|
||||||
|
|
|
@ -617,7 +617,7 @@ void taosGetLinearInterpolationVal(SPoint* point, int32_t outputType, SPoint* po
|
||||||
SET_TYPED_DATA(point->val, outputType, r);
|
SET_TYPED_DATA(point->val, outputType, r);
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t taosFillResultDataBlock(SFillInfo* pFillInfo, SSDataBlock* p, int32_t capacity) {
|
void taosFillResultDataBlock(SFillInfo* pFillInfo, SSDataBlock* p, int32_t capacity) {
|
||||||
int32_t remain = taosNumOfRemainRows(pFillInfo);
|
int32_t remain = taosNumOfRemainRows(pFillInfo);
|
||||||
|
|
||||||
int64_t numOfRes = getNumOfResultsAfterFillGap(pFillInfo, pFillInfo->end, capacity);
|
int64_t numOfRes = getNumOfResultsAfterFillGap(pFillInfo, pFillInfo->end, capacity);
|
||||||
|
@ -635,8 +635,6 @@ int64_t taosFillResultDataBlock(SFillInfo* pFillInfo, SSDataBlock* p, int32_t ca
|
||||||
", current : % d, total : % d, %s",
|
", current : % d, total : % d, %s",
|
||||||
pFillInfo, pFillInfo->numOfRows, pFillInfo->index, pFillInfo->start, pFillInfo->end, pFillInfo->currentKey,
|
pFillInfo, pFillInfo->numOfRows, pFillInfo->index, pFillInfo->start, pFillInfo->end, pFillInfo->currentKey,
|
||||||
pFillInfo->numOfCurrent, pFillInfo->numOfTotal, pFillInfo->id);
|
pFillInfo->numOfCurrent, pFillInfo->numOfTotal, pFillInfo->id);
|
||||||
|
|
||||||
return numOfRes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t getFillInfoStart(struct SFillInfo* pFillInfo) { return pFillInfo->start; }
|
int64_t getFillInfoStart(struct SFillInfo* pFillInfo) { return pFillInfo->start; }
|
||||||
|
|
Loading…
Reference in New Issue