From 07a8f98bdd3c3b180892ac4c92b6c05cae3bac6a Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Mon, 14 Feb 2022 15:09:32 +0800 Subject: [PATCH] [td-11818] Refactor. --- 2.0/src/query/src/qExecutor.c | 2 +- source/libs/executor/inc/executorimpl.h | 2 +- source/libs/executor/src/executorimpl.c | 16 ++++++---------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/2.0/src/query/src/qExecutor.c b/2.0/src/query/src/qExecutor.c index a8e0ee4968..ca656b81ff 100644 --- a/2.0/src/query/src/qExecutor.c +++ b/2.0/src/query/src/qExecutor.c @@ -5278,7 +5278,7 @@ SOperatorInfo* createTableScanOperatorInfo(void* pTsdbQueryHandle, SQueryRuntime pInfo->order = pRuntimeEnv->pQueryAttr->order.order; SOperatorInfo* pOptr = calloc(1, sizeof(SOperatorInfo)); - pOptr->name = "DataBlocksOptimizedScanOperator"; + pOptr->name = "TableScanOperator"; pOptr->operatorType = OP_DataBlocksOptScan; pOptr->pRuntimeEnv = pRuntimeEnv; pOptr->blockingOptr = false; diff --git a/source/libs/executor/inc/executorimpl.h b/source/libs/executor/inc/executorimpl.h index e013e7c6b1..2baa5055a6 100644 --- a/source/libs/executor/inc/executorimpl.h +++ b/source/libs/executor/inc/executorimpl.h @@ -456,7 +456,7 @@ typedef struct SAggOperatorInfo { SResultRowPool *pool; // The window result objects pool, all the resultRow Objects are allocated and managed by this object. STableQueryInfo *current; uint32_t groupId; - SGroupResInfo *pGroupResInfo; + SGroupResInfo groupResInfo; STableQueryInfo *pTableQueryInfo; } SAggOperatorInfo; diff --git a/source/libs/executor/src/executorimpl.c b/source/libs/executor/src/executorimpl.c index 831fd19710..07832c76ca 100644 --- a/source/libs/executor/src/executorimpl.c +++ b/source/libs/executor/src/executorimpl.c @@ -5290,7 +5290,6 @@ SOperatorInfo* createExchangeOperatorInfo(const SArray* pSources, const SArray* pOperator->status = OP_IN_EXECUTING; pOperator->info = pInfo; pOperator->numOfOutput = size; - pOperator->pRuntimeEnv = NULL; pOperator->exec = doLoadRemoteData; pOperator->pTaskInfo = pTaskInfo; @@ -5365,7 +5364,7 @@ SOperatorInfo* createTableScanOperatorInfo(void* pTsdbReadHandle, int32_t order, pInfo->current = 0; pInfo->scanFlag = MAIN_SCAN; - pOperator->name = "DataBlocksOptimizedScanOperator"; + pOperator->name = "TableScanOperator"; pOperator->operatorType = OP_TableScan; pOperator->blockingOptr = false; pOperator->status = OP_IN_EXECUTING; @@ -6181,9 +6180,9 @@ static SSDataBlock* doMultiTableAggregate(void* param, bool* newgroup) { SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo; if (pOperator->status == OP_RES_TO_RETURN) { - toSDatablock(pAggInfo->pGroupResInfo, pAggInfo->pResultBuf, pInfo->pRes, pAggInfo->binfo.capacity); + toSDatablock(&pAggInfo->groupResInfo, pAggInfo->pResultBuf, pInfo->pRes, pAggInfo->binfo.capacity); - if (pInfo->pRes->info.rows == 0 /*|| !hasRemainDataInCurrentGroup(&pRuntimeEnv->groupResInfo)*/) { + if (pInfo->pRes->info.rows == 0 || !hasRemainDataInCurrentGroup(&pAggInfo->groupResInfo)) { pOperator->status = OP_EXEC_DONE; } @@ -7061,7 +7060,7 @@ static int32_t initAggInfo(SAggOperatorInfo* pInfo, SArray* pExprInfo, int32_t n for(int32_t j = 0; j < taosArrayGetSize(pa); ++j) { STableKeyInfo* pk = taosArrayGet(pa, j); - STableQueryInfo* pTQueryInfo = &pInfo->pTableQueryInfo[index]; + STableQueryInfo* pTQueryInfo = &pInfo->pTableQueryInfo[index++]; pTQueryInfo->uid = pk->uid; pTQueryInfo->lastKey = pk->lastKey; pTQueryInfo->groupIndex = i; @@ -7093,9 +7092,6 @@ SOperatorInfo* createAggregateOperatorInfo(SOperatorInfo* downstream, SArray* pE initAggInfo(pInfo, pExprInfo, numOfRows, pTableGroupInfo); setDefaultOutputBuf_rv(pInfo, MAIN_SCAN, pTaskInfo); - size_t numOfOutput = taosArrayGetSize(pExprInfo); - - SExprInfo* p = exprArrayDup(pExprInfo); SOperatorInfo* pOperator = calloc(1, sizeof(SOperatorInfo)); pOperator->name = "TableAggregate"; @@ -7103,8 +7099,8 @@ SOperatorInfo* createAggregateOperatorInfo(SOperatorInfo* downstream, SArray* pE pOperator->blockingOptr = true; pOperator->status = OP_IN_EXECUTING; pOperator->info = pInfo; - pOperator->pExpr = p; - pOperator->numOfOutput = numOfOutput; + pOperator->pExpr = exprArrayDup(pExprInfo); + pOperator->numOfOutput = taosArrayGetSize(pExprInfo); pOperator->pTaskInfo = pTaskInfo; pOperator->exec = doAggregate;