@ -7,7 +7,7 @@
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / backend / optimizer / plan / subselect . c , v 1.100 .2 .3 2006 / 05 / 03 00 : 25 : 07 tgl Exp $
* $ PostgreSQL : pgsql / src / backend / optimizer / plan / subselect . c , v 1.100 .2 .4 2007 / 07 / 18 21 : 41 : 22 tgl Exp $
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
@ -1251,10 +1251,14 @@ SS_make_initplan_from_plan(PlannerInfo *root, Plan *plan,
Param * prm ;
/*
* Set up for a new level of subquery . This is just to keep
* SS_finalize_plan from becoming confused .
* We must run SS_finalize_plan ( ) , since that ' s normally done before a
* subplan gets put into the initplan list . However it will try to attach
* any pre - existing initplans to this one , which we don ' t want ( they are
* siblings not children of this initplan ) . So , a quick kluge to hide
* them . ( This is something else that could perhaps be cleaner if we did
* extParam / allParam processing in setrefs . c instead of here ? See notes
* for materialize_finished_plan . )
*/
PlannerQueryLevel + + ;
PlannerInitPlan = NIL ;
/*
@ -1262,8 +1266,7 @@ SS_make_initplan_from_plan(PlannerInfo *root, Plan *plan,
*/
SS_finalize_plan ( plan , root - > parse - > rtable ) ;
/* Return to outer subquery context */
PlannerQueryLevel - - ;
/* Restore outer initplan list */
PlannerInitPlan = saved_initplan ;
/*