diff --git a/src/gausskernel/optimizer/rewrite/rewriteManip.cpp b/src/gausskernel/optimizer/rewrite/rewriteManip.cpp index 0036cea00..f80ee51d2 100644 --- a/src/gausskernel/optimizer/rewrite/rewriteManip.cpp +++ b/src/gausskernel/optimizer/rewrite/rewriteManip.cpp @@ -85,7 +85,7 @@ static bool contain_aggs_of_level_walker(Node* node, contain_aggs_of_level_conte return true; /* 中止树遍历并返回true */ /* 否则就通过检验论证 */ } - if (IsA(node, GroupingFunc)) {//节点为循环函数 + if (IsA(node, GroupingFunc)) {//节点为GroupingFunc if (((GroupingFunc*)node)->agglevelsup == (Index)context->sublevels_up) return true; /* 否则就通过检验论证 */ @@ -121,12 +121,12 @@ static bool contain_aggs_of_level_or_above_walker(Node* node, int* sublevels_up) if (node == NULL)//为空 return false; if (IsA(node, Aggref)) {//节点为Aggref节点 - if (((Aggref*)node)->agglevelsup >= (Index)*sublevels_up) {//级别相等 + if (((Aggref*)node)->agglevelsup >= (Index)*sublevels_up) {//级别相等或大于 return true; } } - if (IsA(node, GroupingFunc)) {//节点为循环函数 - if (((GroupingFunc*)node)->agglevelsup >= (Index)*sublevels_up) {//级别相等 + if (IsA(node, GroupingFunc)) {//节点为GroupingFunc + if (((GroupingFunc*)node)->agglevelsup >= (Index)*sublevels_up) {//级别相等或大于 return true; } /* 否则就通过检验论证 */