From ca246071621b3e0c9abc521cfe9c5741bc36e75d Mon Sep 17 00:00:00 2001 From: shenglian zhou Date: Tue, 15 Aug 2023 22:13:20 +0800 Subject: [PATCH 1/2] fix: pass plannertest --- source/libs/planner/src/planLogicCreater.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/libs/planner/src/planLogicCreater.c b/source/libs/planner/src/planLogicCreater.c index 93055c1f15..33ffb4af7a 100644 --- a/source/libs/planner/src/planLogicCreater.c +++ b/source/libs/planner/src/planLogicCreater.c @@ -367,6 +367,9 @@ static bool tagScanNodeHasTbname(SNode* pKeys) { } static int32_t setTagScanExecutionMode(SScanLogicNode* pScan) { + if (pScan->node.pConditions == NULL) { + return TSDB_CODE_SUCCESS; + } SNode* pCond = nodesCloneNode(pScan->node.pConditions); SNode* pTagCond = NULL; SNode* pTagIndexCond = NULL; From b21c177ce2e99751326b1f21aa9919d011bc9b1f Mon Sep 17 00:00:00 2001 From: shenglian zhou Date: Tue, 15 Aug 2023 22:31:23 +0800 Subject: [PATCH 2/2] fix: add only meta ctb idx --- source/libs/planner/src/planLogicCreater.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/libs/planner/src/planLogicCreater.c b/source/libs/planner/src/planLogicCreater.c index 33ffb4af7a..7c97ec81a0 100644 --- a/source/libs/planner/src/planLogicCreater.c +++ b/source/libs/planner/src/planLogicCreater.c @@ -367,15 +367,24 @@ static bool tagScanNodeHasTbname(SNode* pKeys) { } static int32_t setTagScanExecutionMode(SScanLogicNode* pScan) { - if (pScan->node.pConditions == NULL) { + //TODO: set pScan->onlyMetaCtbIdx + bool bOnlyMetaCtbIdx = false; + + if (tagScanNodeListHasTbname(pScan->pScanPseudoCols)) { + bOnlyMetaCtbIdx = false; return TSDB_CODE_SUCCESS; } + + if (pScan->node.pConditions == NULL) { + bOnlyMetaCtbIdx = true; + return TSDB_CODE_SUCCESS; + } + SNode* pCond = nodesCloneNode(pScan->node.pConditions); SNode* pTagCond = NULL; SNode* pTagIndexCond = NULL; - bool bOnlyMetaCtbIdx = false; filterPartitionCond(&pCond, NULL, &pTagIndexCond, &pTagCond, NULL); - if (pTagIndexCond || tagScanNodeListHasTbname(pScan->pScanPseudoCols) || tagScanNodeHasTbname(pTagCond)) { + if (pTagIndexCond || tagScanNodeHasTbname(pTagCond)) { bOnlyMetaCtbIdx = false; } else { bOnlyMetaCtbIdx = true;