From cc78a6356c44b85e406a6e6272357034dd8ffa5d Mon Sep 17 00:00:00 2001 From: shenglian zhou Date: Thu, 20 Apr 2023 13:54:22 +0800 Subject: [PATCH] fix: do not performace table count scan optimized where there are no agg functions --- source/libs/planner/src/planOptimizer.c | 4 +++- tests/script/tsim/query/tableCount.sim | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/source/libs/planner/src/planOptimizer.c b/source/libs/planner/src/planOptimizer.c index 52bb03466c..e100a67b93 100644 --- a/source/libs/planner/src/planOptimizer.c +++ b/source/libs/planner/src/planOptimizer.c @@ -2530,7 +2530,9 @@ static bool tbCntScanOptIsEligibleAggFuncs(SNodeList* pAggFuncs) { } static bool tbCntScanOptIsEligibleAgg(SAggLogicNode* pAgg) { - return tbCntScanOptIsEligibleGroupKeys(pAgg->pGroupKeys) && tbCntScanOptIsEligibleAggFuncs(pAgg->pAggFuncs); + return tbCntScanOptIsEligibleGroupKeys(pAgg->pGroupKeys) && + (NULL != pAgg->pAggFuncs) && + tbCntScanOptIsEligibleAggFuncs(pAgg->pAggFuncs); } static bool tbCntScanOptGetColValFromCond(SOperatorNode* pOper, SColumnNode** pCol, SValueNode** pVal) { diff --git a/tests/script/tsim/query/tableCount.sim b/tests/script/tsim/query/tableCount.sim index d8d9bb9b03..ac5e23273a 100644 --- a/tests/script/tsim/query/tableCount.sim +++ b/tests/script/tsim/query/tableCount.sim @@ -104,4 +104,9 @@ if $data62 != 5 then return -1 endi +sql select distinct db_name from information_schema.ins_tables; +print $rows +if $rows != 4 then + return -1 +endi system sh/exec.sh -n dnode1 -s stop -x SIGINT