@ -12,7 +12,7 @@
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / backend / utils / mmgr / portalmem . c , v 1.113 .2 .1 2009 / 12 / 29 17 : 41 : 09 heikki Exp $
* $ PostgreSQL : pgsql / src / backend / utils / mmgr / portalmem . c , v 1.113 .2 .2 2010 / 01 / 18 02 : 30 : 30 tgl Exp $
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
@ -328,6 +328,13 @@ PortalReleaseCachedPlan(Portal portal)
{
ReleaseCachedPlan ( portal - > cplan , false ) ;
portal - > cplan = NULL ;
/*
* We must also clear portal - > stmts which is now a dangling
* reference to the cached plan ' s plan list . This protects any
* code that might try to examine the Portal later .
*/
portal - > stmts = NIL ;
}
}
@ -395,7 +402,6 @@ PortalDrop(Portal portal, bool isTopCommit)
( * portal - > cleanup ) ( portal ) ;
/* drop cached plan reference, if any */
if ( portal - > cplan )
PortalReleaseCachedPlan ( portal ) ;
/*
@ -529,7 +535,6 @@ CommitHoldablePortals(void)
PersistHoldablePortal ( portal ) ;
/* drop cached plan reference, if any */
if ( portal - > cplan )
PortalReleaseCachedPlan ( portal ) ;
/*
@ -680,7 +685,6 @@ AtAbort_Portals(void)
}
/* drop cached plan reference, if any */
if ( portal - > cplan )
PortalReleaseCachedPlan ( portal ) ;
/*
@ -823,7 +827,6 @@ AtSubAbort_Portals(SubTransactionId mySubid,
}
/* drop cached plan reference, if any */
if ( portal - > cplan )
PortalReleaseCachedPlan ( portal ) ;
/*