summaryrefslogtreecommitdiff
path: root/src/backend/optimizer
diff options
context:
space:
mode:
authorAshutosh Bapat2011-12-22 06:32:05 +0000
committerAshutosh Bapat2011-12-22 06:32:05 +0000
commit1b244c116e9cb93253c37236cf722072a719b0e4 (patch)
tree71fa4f4ca9f1dd3c5ad40a1392ff5c3e5bbeaa97 /src/backend/optimizer
parent2140b647f169e236dbe652106245e240ce2aa865 (diff)
Add following GUCs related to optimizations during remote query planning
1. enable_remotegroup - to enable or disable remote grouping optimization in create_remotegrouping_plan(). 2. enable_fast_query_shipping - to enable or disable fast query shipping. These GUCs are to be used only for debugging, and should not be used in production environment or user deployments.
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r--src/backend/optimizer/path/costsize.c1
-rw-r--r--src/backend/optimizer/plan/createplan.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index 45a4f39169..d3b0e279fe 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -120,6 +120,7 @@ bool enable_mergejoin = true;
bool enable_hashjoin = true;
#ifdef PGXC
bool enable_remotejoin = true;
+bool enable_remotegroup = true;
#endif
typedef struct
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 4d94232a7d..57420d589a 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -5840,6 +5840,9 @@ create_remotegrouping_plan(PlannerInfo *root, Plan *local_plan)
List *remote_qual;
List *local_qual;
+ /* Remote grouping is not enabled, don't do anything */
+ if (!enable_remotegroup)
+ return local_plan;
/*
* We don't push aggregation and grouping to datanodes, in case there are
* windowing aggregates, distinct, having clause or sort clauses.