aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-04-06 22:57:20 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-04-06 22:57:20 +0000
commitb396df84851b3573cd4cb49e162cf11ed6ad4333 (patch)
treeb035580aace2fb5679098e9d9073de6cd7f873f2
parentf02a82b6adad1af75499c4ac7221bbd94e3c4fbf (diff)
downloadpostgresql-b396df84851b3573cd4cb49e162cf11ed6ad4333.tar.gz
postgresql-b396df84851b3573cd4cb49e162cf11ed6ad4333.zip
Don't remove the 'alias' field from flattened rangetable entries;
there are some corner cases where this is needed by ruleutils.c for proper display of variables during EXPLAIN.
-rw-r--r--src/backend/optimizer/plan/setrefs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c
index 5c11d788e00..0739142403e 100644
--- a/src/backend/optimizer/plan/setrefs.c
+++ b/src/backend/optimizer/plan/setrefs.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/optimizer/plan/setrefs.c,v 1.133 2007/02/23 21:59:44 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/optimizer/plan/setrefs.c,v 1.134 2007/04/06 22:57:20 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -156,7 +156,8 @@ set_plan_references(PlannerGlobal *glob, Plan *plan, List *rtable)
/*
* In the flat rangetable, we zero out substructure pointers that are
* not needed by the executor; this reduces the storage space and
- * copying cost for cached plans.
+ * copying cost for cached plans. We keep only the alias and eref
+ * Alias fields, which are needed by EXPLAIN.
*/
foreach(lc, rtable)
{
@@ -167,14 +168,13 @@ set_plan_references(PlannerGlobal *glob, Plan *plan, List *rtable)
newrte = (RangeTblEntry *) palloc(sizeof(RangeTblEntry));
memcpy(newrte, rte, sizeof(RangeTblEntry));
- /* zap unneeded sub-structure (we keep only the eref Alias) */
+ /* zap unneeded sub-structure */
newrte->subquery = NULL;
newrte->funcexpr = NULL;
newrte->funccoltypes = NIL;
newrte->funccoltypmods = NIL;
newrte->values_lists = NIL;
newrte->joinaliasvars = NIL;
- newrte->alias = NULL;
glob->finalrtable = lappend(glob->finalrtable, newrte);
}