From 758ff6a46c36b1376aca35e9a5db790f721d953b Mon Sep 17 00:00:00 2001 From: gentle_hu Date: Sat, 18 Sep 2021 15:01:03 +0800 Subject: [PATCH] not using GPC when a GTT is used --- src/gausskernel/optimizer/plan/pgxcplan_single.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gausskernel/optimizer/plan/pgxcplan_single.cpp b/src/gausskernel/optimizer/plan/pgxcplan_single.cpp index fb9eeab63..c376da48c 100644 --- a/src/gausskernel/optimizer/plan/pgxcplan_single.cpp +++ b/src/gausskernel/optimizer/plan/pgxcplan_single.cpp @@ -390,12 +390,14 @@ void pgxc_handle_unsupported_stmts(Query* query) bool contains_temp_tables(List* rtable) { ListCell* item = NULL; + char rel_persistence; foreach (item, rtable) { RangeTblEntry* rte = (RangeTblEntry*)lfirst(item); if (rte->rtekind == RTE_RELATION) { - if (IsTempTable(rte->relid)) + rel_persistence = get_rel_persistence(rte->relid); + if (rel_persistence == RELPERSISTENCE_TEMP || rel_persistence == RELPERSISTENCE_GLOBAL_TEMP) return true; } else if (rte->rtekind == RTE_SUBQUERY && contains_temp_tables(rte->subquery->rtable)) return true;