diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-01-23 02:21:36 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-01-23 02:21:36 +0000 |
commit | 94e4778a31daf3524a2f807b4f830f23a9c2a889 (patch) | |
tree | 8e6703985788680ec9cebba190defe674d6f72f2 /src/backend/optimizer/path/joinpath.c | |
parent | d08889aa8b462befe4d494d01ed4cc81644c1d22 (diff) | |
download | postgresql-94e4778a31daf3524a2f807b4f830f23a9c2a889.tar.gz postgresql-94e4778a31daf3524a2f807b4f830f23a9c2a889.zip |
The result of a FULL or RIGHT join can't be assumed to be sorted by the
left input's sorting, because null rows may be inserted at various points.
Per report from Ferenc Lutischá¸n.
Diffstat (limited to 'src/backend/optimizer/path/joinpath.c')
-rw-r--r-- | src/backend/optimizer/path/joinpath.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c index 65c7690af47..97e4d7dda87 100644 --- a/src/backend/optimizer/path/joinpath.c +++ b/src/backend/optimizer/path/joinpath.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/path/joinpath.c,v 1.91 2004/12/31 22:00:04 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/path/joinpath.c,v 1.92 2005/01/23 02:21:26 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -271,7 +271,8 @@ sort_inner_and_outer(Query *root, cur_mergeclauses, innerrel); /* Build pathkeys representing output sort order. */ - merge_pathkeys = build_join_pathkeys(root, joinrel, outerkeys); + merge_pathkeys = build_join_pathkeys(root, joinrel, jointype, + outerkeys); /* * And now we can make the path. @@ -431,7 +432,7 @@ match_unsorted_outer(Query *root, * as a nestloop, and even if some of the mergeclauses are * implemented by qpquals rather than as true mergeclauses): */ - merge_pathkeys = build_join_pathkeys(root, joinrel, + merge_pathkeys = build_join_pathkeys(root, joinrel, jointype, outerpath->pathkeys); if (nestjoinOK) |