aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeBitmapAnd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeBitmapAnd.c')
-rw-r--r--src/backend/executor/nodeBitmapAnd.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/backend/executor/nodeBitmapAnd.c b/src/backend/executor/nodeBitmapAnd.c
index dbfcfb1cab0..9ae2df76aff 100644
--- a/src/backend/executor/nodeBitmapAnd.c
+++ b/src/backend/executor/nodeBitmapAnd.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/executor/nodeBitmapAnd.c,v 1.13 2010/01/02 16:57:41 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/nodeBitmapAnd.c,v 1.14 2010/07/12 17:01:05 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -185,7 +185,7 @@ ExecEndBitmapAnd(BitmapAndState *node)
}
void
-ExecReScanBitmapAnd(BitmapAndState *node, ExprContext *exprCtxt)
+ExecReScanBitmapAnd(BitmapAndState *node)
{
int i;
@@ -201,9 +201,10 @@ ExecReScanBitmapAnd(BitmapAndState *node, ExprContext *exprCtxt)
UpdateChangedParamSet(subnode, node->ps.chgParam);
/*
- * Always rescan the inputs immediately, to ensure we can pass down
- * any outer tuple that might be used in index quals.
+ * If chgParam of subnode is not null then plan will be re-scanned by
+ * first ExecProcNode.
*/
- ExecReScan(subnode, exprCtxt);
+ if (subnode->chgParam == NULL)
+ ExecReScan(subnode);
}
}