fix(stream): check return value.
This commit is contained in:
parent
7497f193c7
commit
cd0722fe1f
|
@ -165,13 +165,13 @@ void tsortGetValue(STupleHandle* pVHandle, int32_t colId, void** pVal);
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
uint64_t tsortGetGroupId(STupleHandle* pVHandle);
|
uint64_t tsortGetGroupId(STupleHandle* pVHandle);
|
||||||
void* tsortGetBlockInfo(STupleHandle* pVHandle);
|
void tsortGetBlockInfo(STupleHandle* pVHandle, SDataBlockInfo* pInfo);
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param pSortHandle
|
* @param pSortHandle
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
SSDataBlock* tsortGetSortedDataBlock(const SSortHandle* pSortHandle);
|
int32_t tsortGetSortedDataBlock(const SSortHandle* pSortHandle, SSDataBlock** pBlock);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* return the sort execution information.
|
* return the sort execution information.
|
||||||
|
@ -215,8 +215,8 @@ int32_t tsortCompAndBuildKeys(const SArray* pSortCols, char* keyBuf, int32_t* ke
|
||||||
*/
|
*/
|
||||||
void tsortSetMergeLimitReachedFp(SSortHandle* pHandle, void (*mergeLimitReached)(uint64_t tableUid, void* param), void* param);
|
void tsortSetMergeLimitReachedFp(SSortHandle* pHandle, void (*mergeLimitReached)(uint64_t tableUid, void* param), void* param);
|
||||||
|
|
||||||
int tsortComparBlockCell(SSDataBlock* pLeftBlock, SSDataBlock* pRightBlock,
|
int tsortComparBlockCell(SSDataBlock* pLeftBlock, SSDataBlock* pRightBlock, int32_t leftRowIndex, int32_t rightRowIndex,
|
||||||
int32_t leftRowIndex, int32_t rightRowIndex, void* pOrder);
|
void* pOrder);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -167,8 +167,17 @@ static void* tupleGetField(char* t, uint32_t colIdx, uint32_t colNum) {
|
||||||
return t + *tupleOffset(t, colIdx);
|
return t + *tupleOffset(t, colIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
SSDataBlock* tsortGetSortedDataBlock(const SSortHandle* pSortHandle) {
|
int32_t tsortGetSortedDataBlock(const SSortHandle* pSortHandle, SSDataBlock** pBlock) {
|
||||||
return createOneDataBlock(pSortHandle->pDataBlock, false);
|
if (pBlock == NULL) {
|
||||||
|
return TSDB_CODE_INVALID_PARA;
|
||||||
|
}
|
||||||
|
|
||||||
|
*pBlock = createOneDataBlock(pSortHandle->pDataBlock, false);
|
||||||
|
if (*pBlock == NULL) {
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
} else {
|
||||||
|
return TSDB_CODE_SUCCESS;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define AllocatedTupleType 0
|
#define AllocatedTupleType 0
|
||||||
|
@ -1099,7 +1108,11 @@ int32_t tsortAppendTupleToBlock(SSortHandle* pHandle, SSDataBlock* pBlock, STupl
|
||||||
}
|
}
|
||||||
|
|
||||||
pBlock->info.dataLoad = 1;
|
pBlock->info.dataLoad = 1;
|
||||||
pBlock->info.scanFlag = ((SDataBlockInfo*)tsortGetBlockInfo(pTupleHandle))->scanFlag;
|
|
||||||
|
SDataBlockInfo info = {0};
|
||||||
|
tsortGetBlockInfo(pTupleHandle, &info);
|
||||||
|
|
||||||
|
pBlock->info.scanFlag = info.scanFlag;
|
||||||
pBlock->info.rows += 1;
|
pBlock->info.rows += 1;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1121,7 +1134,10 @@ int32_t tsortAppendTupleToBlock(SSortHandle* pHandle, SSDataBlock* pBlock, STupl
|
||||||
}
|
}
|
||||||
|
|
||||||
pBlock->info.dataLoad = 1;
|
pBlock->info.dataLoad = 1;
|
||||||
pBlock->info.scanFlag = ((SDataBlockInfo*)tsortGetBlockInfo(pTupleHandle))->scanFlag;
|
SDataBlockInfo info = {0};
|
||||||
|
tsortGetBlockInfo(pTupleHandle, &info);
|
||||||
|
|
||||||
|
pBlock->info.scanFlag = info.scanFlag;
|
||||||
pBlock->info.rows += 1;
|
pBlock->info.rows += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1463,35 +1479,41 @@ static int32_t initRowIdSort(SSortHandle* pHandle) {
|
||||||
SColumnInfoData pkCol = {0};
|
SColumnInfoData pkCol = {0};
|
||||||
|
|
||||||
SSDataBlock* pSortInput = createDataBlock();
|
SSDataBlock* pSortInput = createDataBlock();
|
||||||
pHandle->pDataBlock = pSortInput;
|
|
||||||
|
|
||||||
SColumnInfoData tsCol = createColumnInfoData(TSDB_DATA_TYPE_TIMESTAMP, 8, 1);
|
SColumnInfoData tsCol = createColumnInfoData(TSDB_DATA_TYPE_TIMESTAMP, 8, 1);
|
||||||
int32_t code = blockDataAppendColInfo(pSortInput, &tsCol);
|
int32_t code = blockDataAppendColInfo(pSortInput, &tsCol);
|
||||||
if (code) {
|
if (code) {
|
||||||
|
blockDataDestroy(pSortInput);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
SColumnInfoData regionIdCol = createColumnInfoData(TSDB_DATA_TYPE_INT, 4, 2);
|
SColumnInfoData regionIdCol = createColumnInfoData(TSDB_DATA_TYPE_INT, 4, 2);
|
||||||
code = blockDataAppendColInfo(pSortInput, ®ionIdCol);
|
code = blockDataAppendColInfo(pSortInput, ®ionIdCol);
|
||||||
if (code) {
|
if (code) {
|
||||||
|
blockDataDestroy(pSortInput);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
SColumnInfoData offsetCol = createColumnInfoData(TSDB_DATA_TYPE_INT, 4, 3);
|
SColumnInfoData offsetCol = createColumnInfoData(TSDB_DATA_TYPE_INT, 4, 3);
|
||||||
code = blockDataAppendColInfo(pSortInput, &offsetCol);
|
code = blockDataAppendColInfo(pSortInput, &offsetCol);
|
||||||
if (code) {
|
if (code) {
|
||||||
|
blockDataDestroy(pSortInput);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
SColumnInfoData lengthCol = createColumnInfoData(TSDB_DATA_TYPE_INT, 4, 4);
|
SColumnInfoData lengthCol = createColumnInfoData(TSDB_DATA_TYPE_INT, 4, 4);
|
||||||
code = blockDataAppendColInfo(pSortInput, &lengthCol);
|
code = blockDataAppendColInfo(pSortInput, &lengthCol);
|
||||||
if (code) {
|
if (code) {
|
||||||
|
blockDataDestroy(pSortInput);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pHandle->bSortPk) {
|
if (pHandle->bSortPk) {
|
||||||
pkCol = createColumnInfoData(extPkCol->info.type, extPkCol->info.bytes, 5);
|
pkCol = createColumnInfoData(extPkCol->info.type, extPkCol->info.bytes, 5);
|
||||||
code = blockDataAppendColInfo(pSortInput, &pkCol);
|
code = blockDataAppendColInfo(pSortInput, &pkCol);
|
||||||
|
if (code) {
|
||||||
|
blockDataDestroy(pSortInput);
|
||||||
|
return code;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
blockDataDestroy(pHandle->pDataBlock);
|
blockDataDestroy(pHandle->pDataBlock);
|
||||||
|
@ -1990,12 +2012,13 @@ static int32_t createBlocksMergeSortInitialSources(SSortHandle* pHandle) {
|
||||||
bool bExtractedBlock = false;
|
bool bExtractedBlock = false;
|
||||||
bool bSkipBlock = false;
|
bool bSkipBlock = false;
|
||||||
if (pBlk != NULL && pHandle->mergeLimit > 0) {
|
if (pBlk != NULL && pHandle->mergeLimit > 0) {
|
||||||
pBlk = NULL;
|
SSDataBlock* p = NULL;
|
||||||
|
code = getRowsBlockWithinMergeLimit(pHandle, mTableNumRows, pBlk, &bExtractedBlock, &bSkipBlock, &p);
|
||||||
code = getRowsBlockWithinMergeLimit(pHandle, mTableNumRows, pBlk, &bExtractedBlock, &bSkipBlock, &pBlk);
|
|
||||||
if (bSkipBlock || code != 0) {
|
if (bSkipBlock || code != 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pBlk = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pBlk != NULL) {
|
if (pBlk != NULL) {
|
||||||
|
@ -2416,15 +2439,21 @@ static int32_t tsortOpenForPQSort(SSortHandle* pHandle) {
|
||||||
while (1) {
|
while (1) {
|
||||||
// fetch data
|
// fetch data
|
||||||
SSDataBlock* pBlock = pHandle->fetchfp(source->param);
|
SSDataBlock* pBlock = pHandle->fetchfp(source->param);
|
||||||
if (NULL == pBlock) break;
|
if (NULL == pBlock) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (pHandle->beforeFp != NULL) {
|
if (pHandle->beforeFp != NULL) {
|
||||||
pHandle->beforeFp(pBlock, pHandle->param);
|
pHandle->beforeFp(pBlock, pHandle->param);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pHandle->pDataBlock == NULL) {
|
if (pHandle->pDataBlock == NULL) {
|
||||||
pHandle->pDataBlock = createOneDataBlock(pBlock, false);
|
pHandle->pDataBlock = createOneDataBlock(pBlock, false);
|
||||||
}
|
}
|
||||||
if (pHandle->pDataBlock == NULL) return TSDB_CODE_OUT_OF_MEMORY;
|
|
||||||
|
if (pHandle->pDataBlock == NULL) {
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
size_t colNum = blockDataGetNumOfCols(pBlock);
|
size_t colNum = blockDataGetNumOfCols(pBlock);
|
||||||
|
|
||||||
|
@ -2581,7 +2610,7 @@ void tsortGetValue(STupleHandle* pVHandle, int32_t colIndex, void** pVal) {
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t tsortGetGroupId(STupleHandle* pVHandle) { return pVHandle->pBlock->info.id.groupId; }
|
uint64_t tsortGetGroupId(STupleHandle* pVHandle) { return pVHandle->pBlock->info.id.groupId; }
|
||||||
void* tsortGetBlockInfo(STupleHandle* pVHandle) { return &pVHandle->pBlock->info; }
|
void tsortGetBlockInfo(STupleHandle* pVHandle, SDataBlockInfo* pBlockInfo) { *pBlockInfo = pVHandle->pBlock->info; }
|
||||||
|
|
||||||
SSortExecInfo tsortGetSortExecInfo(SSortHandle* pHandle) {
|
SSortExecInfo tsortGetSortExecInfo(SSortHandle* pHandle) {
|
||||||
SSortExecInfo info = {0};
|
SSortExecInfo info = {0};
|
||||||
|
|
Loading…
Reference in New Issue