From 537e56c9041a7e193d7b290d41076e512d7cb976 Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Tue, 14 Nov 2023 08:51:23 +0800 Subject: [PATCH] fix: scan columns duplicated issue --- source/libs/planner/src/planOptimizer.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/libs/planner/src/planOptimizer.c b/source/libs/planner/src/planOptimizer.c index e2ee3faa3d..2a63936ba1 100644 --- a/source/libs/planner/src/planOptimizer.c +++ b/source/libs/planner/src/planOptimizer.c @@ -2792,12 +2792,13 @@ static int32_t splitCacheLastFuncOptCreateAggLogicNode(SAggLogicNode** pNewAgg, TSWAP(pScan->pScanCols, pOldScanCols); nodesDestroyList(pScan->pScanPseudoCols); nodesDestroyList(pScan->node.pTargets); - FOREACH(pNode, pFunc) { - code = nodesCollectColumnsFromNode(pNode, NULL, COLLECT_COL_TYPE_COL, &pScan->pScanCols); - if (TSDB_CODE_SUCCESS != code) { - return code; - } + SNodeListNode* list = (SNodeListNode*)nodesMakeNode(QUERY_NODE_NODE_LIST); + list->pNodeList = pFunc; + code = nodesCollectColumnsFromNode((SNode*)list, NULL, COLLECT_COL_TYPE_COL, &pScan->pScanCols); + if (TSDB_CODE_SUCCESS != code) { + return code; } + nodesFree(list); bool found = false; FOREACH(pNode, pScan->pScanCols) { if (PRIMARYKEY_TIMESTAMP_COL_ID == ((SColumnNode*)pNode)->colId) {