From e71ea69cdb760ba8e71cc43cfa67444ff25280a3 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Wed, 8 Jan 2025 15:22:19 +0800 Subject: [PATCH] fix: seqStableJoinComposeRes --- .../libs/executor/src/dynqueryctrloperator.c | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/source/libs/executor/src/dynqueryctrloperator.c b/source/libs/executor/src/dynqueryctrloperator.c index d11876288c..ee3f68fc3a 100644 --- a/source/libs/executor/src/dynqueryctrloperator.c +++ b/source/libs/executor/src/dynqueryctrloperator.c @@ -906,26 +906,28 @@ static int32_t seqJoinLaunchNewRetrieve(SOperatorInfo* pOperator, SSDataBlock** } static int32_t seqStableJoinComposeRes(SStbJoinDynCtrlInfo* pStbJoin, SSDataBlock* pBlock) { - if (pBlock && pStbJoin && pStbJoin->pOutputDataBlockDesc) { - pBlock->info.id.blockId = pStbJoin->pOutputDataBlockDesc->dataBlockId; - if (!pBlock->pDataBlock) return TSDB_CODE_SUCCESS; + if (pBlock) { + if (pStbJoin && pStbJoin->pOutputDataBlockDesc) { + pBlock->info.id.blockId = pStbJoin->pOutputDataBlockDesc->dataBlockId; + if (!pBlock->pDataBlock) return TSDB_CODE_SUCCESS; - for (int i = pBlock->pDataBlock->size; i < pStbJoin->pOutputDataBlockDesc->pSlots->length; i++) { - SSlotDescNode* pSlot = (SSlotDescNode*)nodesListGetNode(pStbJoin->pOutputDataBlockDesc->pSlots, i); - if (pSlot == NULL) { - qError("seqStableJoinComposeRes: pSlot is NULL, i:%d", i); - return TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR; - } - SColumnInfoData colInfo = createColumnInfoData(pSlot->dataType.type, pSlot->dataType.bytes, pSlot->slotId); - colInfoDataEnsureCapacity(&colInfo, pBlock->info.rows, true); - int32_t code = blockDataAppendColInfo(pBlock, &colInfo); - if (code != TSDB_CODE_SUCCESS) { - return -1; + for (int i = pBlock->pDataBlock->size; i < pStbJoin->pOutputDataBlockDesc->pSlots->length; i++) { + SSlotDescNode* pSlot = (SSlotDescNode*)nodesListGetNode(pStbJoin->pOutputDataBlockDesc->pSlots, i); + if (pSlot == NULL) { + qError("seqStableJoinComposeRes: pSlot is NULL, i:%d", i); + return TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR; + } + SColumnInfoData colInfo = createColumnInfoData(pSlot->dataType.type, pSlot->dataType.bytes, pSlot->slotId); + colInfoDataEnsureCapacity(&colInfo, pBlock->info.rows, true); + int32_t code = blockDataAppendColInfo(pBlock, &colInfo); + if (code != TSDB_CODE_SUCCESS) { + return -1; + } } + } else { + qError("seqStableJoinComposeRes: pBlock or pStbJoin is NULL"); + return TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR; } - } else { - qError("seqStableJoinComposeRes: pBlock or pStbJoin is NULL"); - return TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR; } return TSDB_CODE_SUCCESS; }