aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeBitmapOr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeBitmapOr.c')
-rw-r--r--src/backend/executor/nodeBitmapOr.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/backend/executor/nodeBitmapOr.c b/src/backend/executor/nodeBitmapOr.c
index 97cadd6b852..8faba8b3002 100644
--- a/src/backend/executor/nodeBitmapOr.c
+++ b/src/backend/executor/nodeBitmapOr.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/executor/nodeBitmapOr.c,v 1.12 2010/01/02 16:57:41 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/nodeBitmapOr.c,v 1.13 2010/07/12 17:01:05 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -201,7 +201,7 @@ ExecEndBitmapOr(BitmapOrState *node)
}
void
-ExecReScanBitmapOr(BitmapOrState *node, ExprContext *exprCtxt)
+ExecReScanBitmapOr(BitmapOrState *node)
{
int i;
@@ -217,9 +217,10 @@ ExecReScanBitmapOr(BitmapOrState *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);
}
}