Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 7809923

Browse files
committed
Fix thinko for case of outer join where inner table is empty: should
output first outer tuple before advancing...
1 parent 47e2297 commit 7809923

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/backend/executor/nodeMergejoin.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.39 2000/11/16 22:30:22 tgl Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.40 2000/12/13 23:45:46 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -537,12 +537,13 @@ ExecMergeJoin(MergeJoin *node)
537537
if (doFillOuter)
538538
{
539539
/*
540-
* Need to emit left-join tuples for remaining
541-
* outer tuples. We set MatchedOuter = true to
542-
* force the ENDINNER state to advance outer.
540+
* Need to emit left-join tuples for all outer tuples,
541+
* including the one we just fetched. We set
542+
* MatchedOuter = false to force the ENDINNER state
543+
* to emit this tuple before advancing outer.
543544
*/
544545
mergestate->mj_JoinState = EXEC_MJ_ENDINNER;
545-
mergestate->mj_MatchedOuter = true;
546+
mergestate->mj_MatchedOuter = false;
546547
break;
547548
}
548549
/* Otherwise we're done. */

0 commit comments

Comments
 (0)