7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.11 1997/11/25 21:59:59 momjian Exp $
10
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.12 1997/12/18 12:54:11 momjian Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
48
48
49
49
static Plan * make_sortplan (List * tlist , List * sortcls , Plan * plannode );
50
50
static Plan * init_query_planner (Query * parse );
51
- static Existential * make_existential (Plan * left , Plan * right );
52
51
53
52
/*****************************************************************************
54
53
*
@@ -184,8 +183,7 @@ make_sortplan(List *tlist, List *sortcls, Plan *plannode)
184
183
185
184
/*
186
185
* init-query-planner--
187
- * Deals with all non-union preprocessing, including existential
188
- * qualifications and CNFifying the qualifications.
186
+ * Deals with all non-union preprocessing,and CNFifying the qualifications.
189
187
*
190
188
* Returns a query plan.
191
189
* MODIFIES: tlist,qual
@@ -195,60 +193,19 @@ static Plan *
195
193
init_query_planner (Query * root )
196
194
{
197
195
List * primary_qual ;
198
- List * existential_qual ;
199
- Existential * exist_plan ;
200
196
List * tlist = root -> targetList ;
201
197
202
198
tlist = preprocess_targetlist (tlist ,
203
199
root -> commandType ,
204
200
root -> resultRelation ,
205
201
root -> rtable );
206
202
207
- primary_qual =
208
- preprocess_qualification ((Expr * ) root -> qual ,
209
- tlist ,
210
- & existential_qual );
203
+ primary_qual = cnfify ((Expr * ) root -> qual , true);
211
204
212
- if (existential_qual == NULL )
213
- {
214
- return (query_planner (root ,
215
- root -> commandType ,
216
- tlist ,
217
- primary_qual ));
218
- }
219
- else
220
- {
221
- int temp = root -> commandType ;
222
- Plan * existential_plan ;
223
-
224
- root -> commandType = CMD_SELECT ;
225
- existential_plan = query_planner (root ,
226
- temp ,
227
- NIL ,
228
- existential_qual );
229
-
230
- exist_plan = make_existential (existential_plan ,
231
- query_planner (root ,
232
- root -> commandType ,
233
- tlist ,
234
- primary_qual ));
235
- return ((Plan * ) exist_plan );
236
- }
237
- }
238
-
239
- /*
240
- * make_existential--
241
- * Instantiates an existential plan node and fills in
242
- * the left and right subtree slots.
243
- */
244
- static Existential *
245
- make_existential (Plan * left , Plan * right )
246
- {
247
- Existential * node = makeNode (Existential );
248
-
249
- node -> lefttree = left ;
250
- node -> righttree = left ;
251
- return (node );
205
+ return (query_planner (root ,
206
+ root -> commandType ,
207
+ tlist ,
208
+ primary_qual ));
252
209
}
253
210
254
211
/*
0 commit comments