diff --git a/src/common/backend/utils/adt/ruleutils.cpp b/src/common/backend/utils/adt/ruleutils.cpp index bc3cd0f76..d765e4761 100644 --- a/src/common/backend/utils/adt/ruleutils.cpp +++ b/src/common/backend/utils/adt/ruleutils.cpp @@ -8915,8 +8915,11 @@ static char* get_variable( schemaname = NULL; /* default assumptions */ if (NULL != rte->relname && u_sess->hook_cxt.forTsdbHook) { - rte->relname = get_rel_name(rte->relid); - rte->eref->aliasname = rte->relname; + char *relname = get_rel_name(rte->relid); + if (relname != NULL) { + rte->relname = pstrdup(relname); + rte->eref->aliasname = pstrdup(rte->relname); + } } refname = rte->eref->aliasname; diff --git a/src/gausskernel/optimizer/plan/createplan.cpp b/src/gausskernel/optimizer/plan/createplan.cpp index 5c63dc03d..d30577617 100755 --- a/src/gausskernel/optimizer/plan/createplan.cpp +++ b/src/gausskernel/optimizer/plan/createplan.cpp @@ -338,6 +338,10 @@ Plan* create_plan(PlannerInfo* root, Path* best_path) find_inlist2join_path(root, best_path); } + if (u_sess->hook_cxt.forTsdbHook && DB_IS_CMPT(PG_FORMAT) && root->minmax_aggs == NIL) { + plan->exec_nodes = ng_get_default_computing_group_exec_node(); + } + return plan; }