aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeMergejoin.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-05-15 21:19:55 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-05-15 21:19:55 +0000
commit2ef172a2a4d8c093c0f2d4d580d5aab1ca8dcffe (patch)
tree44d64e7d8c43ed64d37622f90a949c5bb918f0c3 /src/backend/executor/nodeMergejoin.c
parenteb0d00a9becb865c51c4e4c43f522d5c20addfe3 (diff)
downloadpostgresql-2ef172a2a4d8c093c0f2d4d580d5aab1ca8dcffe.tar.gz
postgresql-2ef172a2a4d8c093c0f2d4d580d5aab1ca8dcffe.zip
Fix latent bug in ExecSeqRestrPos: it leaves the plan node's result slot
in an inconsistent state. (This is only latent because in reality ExecSeqRestrPos is dead code at the moment ... but someday maybe it won't be.) Add some comments about what the API for plan node mark/restore actually is, because it's not immediately obvious.
Diffstat (limited to 'src/backend/executor/nodeMergejoin.c')
-rw-r--r--src/backend/executor/nodeMergejoin.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c
index 6eb2bcc364d..fb279e8b68e 100644
--- a/src/backend/executor/nodeMergejoin.c
+++ b/src/backend/executor/nodeMergejoin.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/executor/nodeMergejoin.c,v 1.73 2005/05/14 21:29:23 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/nodeMergejoin.c,v 1.74 2005/05/15 21:19:55 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1134,8 +1134,10 @@ ExecMergeJoin(MergeJoinState *node)
ExecRestrPos(innerPlan);
/*
- * ExecRestrPos really should give us back a new Slot,
- * but since it doesn't, use the marked slot.
+ * ExecRestrPos probably should give us back a new Slot,
+ * but since it doesn't, use the marked slot. (The
+ * previously returned mj_InnerTupleSlot cannot be
+ * assumed to hold the required tuple.)
*/
node->mj_InnerTupleSlot = innerTupleSlot;
/* we need not do MJEvalInnerValues again */