From 0dacdff1f3f42f9c563026a8f9a578fe0c125828 Mon Sep 17 00:00:00 2001 From: Jinqing Kuang Date: Fri, 20 Sep 2024 16:37:50 +0800 Subject: [PATCH] fix(query)[TD-32196]. Fix error code handling in group sort --- source/libs/executor/src/sortoperator.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/libs/executor/src/sortoperator.c b/source/libs/executor/src/sortoperator.c index 27ae5e7281..d12f6dd94c 100644 --- a/source/libs/executor/src/sortoperator.c +++ b/source/libs/executor/src/sortoperator.c @@ -735,7 +735,10 @@ int32_t doGroupSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock) { code = getGroupSortedBlockData(pInfo->pCurrSortHandle, pInfo->binfo.pRes, pOperator->resultInfo.capacity, pInfo->matchInfo.pList, pInfo, &pBlock); - if (pBlock != NULL && (code == 0)) { + if (code != TSDB_CODE_SUCCESS) { + return code; + } + if (pBlock != NULL) { pBlock->info.id.groupId = pInfo->currGroupId; pOperator->resultInfo.totalRows += pBlock->info.rows; *pResBlock = pBlock; @@ -745,6 +748,9 @@ int32_t doGroupSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock) { (void) finishSortGroup(pOperator); pInfo->currGroupId = pInfo->prefetchedSortInput->info.id.groupId; code = beginSortGroup(pOperator); + if (code) { + return code; + } } else if (pInfo->childOpStatus == CHILD_OP_FINISHED) { (void) finishSortGroup(pOperator); setOperatorCompleted(pOperator);