aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/planmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/plan/planmain.c')
-rw-r--r--src/backend/optimizer/plan/planmain.c35
1 files changed, 3 insertions, 32 deletions
diff --git a/src/backend/optimizer/plan/planmain.c b/src/backend/optimizer/plan/planmain.c
index bc1438a4672..2ad786ce646 100644
--- a/src/backend/optimizer/plan/planmain.c
+++ b/src/backend/optimizer/plan/planmain.c
@@ -14,7 +14,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/optimizer/plan/planmain.c,v 1.93 2006/03/05 15:58:29 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/optimizer/plan/planmain.c,v 1.94 2006/07/01 18:38:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -82,7 +82,6 @@ query_planner(PlannerInfo *root, List *tlist, double tuple_fraction,
double *num_groups)
{
Query *parse = root->parse;
- List *constant_quals;
List *joinlist;
RelOptInfo *final_rel;
Path *cheapestpath;
@@ -99,27 +98,13 @@ query_planner(PlannerInfo *root, List *tlist, double tuple_fraction,
*/
if (parse->jointree->fromlist == NIL)
{
- *cheapest_path = (Path *) create_result_path(NULL, NULL,
- (List *) parse->jointree->quals);
+ *cheapest_path = (Path *)
+ create_result_path((List *) parse->jointree->quals);
*sorted_path = NULL;
return;
}
/*
- * Pull out any non-variable WHERE clauses so these can be put in a
- * toplevel "Result" node, where they will gate execution of the whole
- * plan (the Result will not invoke its descendant plan unless the quals
- * are true). Note that any *really* non-variable quals will have been
- * optimized away by eval_const_expressions(). What we're mostly
- * interested in here is quals that depend only on outer-level vars,
- * although if the qual reduces to "WHERE FALSE" this path will also be
- * taken.
- */
- parse->jointree->quals = (Node *)
- pull_constant_clauses((List *) parse->jointree->quals,
- &constant_quals);
-
- /*
* Init planner lists to empty, and set up the array to hold RelOptInfos
* for "simple" rels.
*
@@ -324,20 +309,6 @@ query_planner(PlannerInfo *root, List *tlist, double tuple_fraction,
}
}
- /*
- * If we have constant quals, add a toplevel Result step to process them.
- */
- if (constant_quals)
- {
- cheapestpath = (Path *) create_result_path(final_rel,
- cheapestpath,
- constant_quals);
- if (sortedpath)
- sortedpath = (Path *) create_result_path(final_rel,
- sortedpath,
- constant_quals);
- }
-
*cheapest_path = cheapestpath;
*sorted_path = sortedpath;
}