@ -38,7 +38,7 @@
* Portions Copyright ( c ) 1994 , Regents of the University of California
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
*
* IDENTIFICATION
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / backend / executor / nodeResult . c , v 1.38 2007 / 02 / 15 03 : 07 : 13 tgl Exp $
* $ PostgreSQL : pgsql / src / backend / executor / nodeResult . c , v 1.39 2007 / 02 / 16 03 : 49 : 04 tgl Exp $
*
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
*/
@ -309,10 +309,12 @@ ExecReScanResult(ResultState *node, ExprContext *exprCtxt)
node - > rs_checkqual = ( node - > resconstantqual = = NULL ) ? false : true ;
node - > rs_checkqual = ( node - > resconstantqual = = NULL ) ? false : true ;
/*
/*
* if chgParam of subnode is not null then plan will be re - scanned by
* If chgParam of subnode is not null then plan will be re - scanned by
* first ExecProcNode .
* first ExecProcNode . However , if caller is passing us an exprCtxt
* then forcibly rescan the subnode now , so that we can pass the
* exprCtxt down to the subnode ( needed for gated indexscan ) .
*/
*/
if ( ( ( PlanState * ) node ) - > lefttree & &
if ( node - > ps . lefttree & &
( ( PlanState * ) node ) - > lefttree - > chgParam = = NULL )
( node - > ps . lefttree - > chgParam = = NULL | | exprCtxt ! = NULL ) )
ExecReScan ( ( ( PlanState * ) node ) - > lefttree , exprCtxt ) ;
ExecReScan ( node - > ps . lefttree , exprCtxt ) ;
}
}