aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/planner.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/plan/planner.c')
-rw-r--r--src/backend/optimizer/plan/planner.c57
1 files changed, 7 insertions, 50 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index ceddbbe2d6b..e60e576b08e 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.11 1997/11/25 21:59:59 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.12 1997/12/18 12:54:11 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -48,7 +48,6 @@
static Plan *make_sortplan(List *tlist, List *sortcls, Plan *plannode);
static Plan *init_query_planner(Query *parse);
-static Existential *make_existential(Plan *left, Plan *right);
/*****************************************************************************
*
@@ -184,8 +183,7 @@ make_sortplan(List *tlist, List *sortcls, Plan *plannode)
/*
* init-query-planner--
- * Deals with all non-union preprocessing, including existential
- * qualifications and CNFifying the qualifications.
+ * Deals with all non-union preprocessing,and CNFifying the qualifications.
*
* Returns a query plan.
* MODIFIES: tlist,qual
@@ -195,8 +193,6 @@ static Plan *
init_query_planner(Query *root)
{
List *primary_qual;
- List *existential_qual;
- Existential *exist_plan;
List *tlist = root->targetList;
tlist = preprocess_targetlist(tlist,
@@ -204,51 +200,12 @@ init_query_planner(Query *root)
root->resultRelation,
root->rtable);
- primary_qual =
- preprocess_qualification((Expr *) root->qual,
- tlist,
- &existential_qual);
+ primary_qual = cnfify((Expr *) root->qual, true);
- if (existential_qual == NULL)
- {
- return (query_planner(root,
- root->commandType,
- tlist,
- primary_qual));
- }
- else
- {
- int temp = root->commandType;
- Plan *existential_plan;
-
- root->commandType = CMD_SELECT;
- existential_plan = query_planner(root,
- temp,
- NIL,
- existential_qual);
-
- exist_plan = make_existential(existential_plan,
- query_planner(root,
- root->commandType,
- tlist,
- primary_qual));
- return ((Plan *) exist_plan);
- }
-}
-
-/*
- * make_existential--
- * Instantiates an existential plan node and fills in
- * the left and right subtree slots.
- */
-static Existential *
-make_existential(Plan *left, Plan *right)
-{
- Existential *node = makeNode(Existential);
-
- node->lefttree = left;
- node->righttree = left;
- return (node);
+ return (query_planner(root,
+ root->commandType,
+ tlist,
+ primary_qual));
}
/*