diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-02-22 05:26:58 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-02-22 05:26:58 +0000 |
commit | 1ed5cbbfd847f0011a6fe3670deb75b1a7407f61 (patch) | |
tree | 01c424ce1005bbeef3a947a6b6c6ec2cfe5a464f /src/backend/optimizer/path/joinpath.c | |
parent | 47dd11bdd034a8afeab5e9a3ed12ddbebb475d25 (diff) | |
download | postgresql-1ed5cbbfd847f0011a6fe3670deb75b1a7407f61.tar.gz postgresql-1ed5cbbfd847f0011a6fe3670deb75b1a7407f61.zip |
Final optimizer cleanups.
Diffstat (limited to 'src/backend/optimizer/path/joinpath.c')
-rw-r--r-- | src/backend/optimizer/path/joinpath.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c index 95907f40729..47668a69b81 100644 --- a/src/backend/optimizer/path/joinpath.c +++ b/src/backend/optimizer/path/joinpath.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.31 1999/02/21 01:55:02 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.32 1999/02/22 05:26:20 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -104,7 +104,8 @@ update_rels_pathlist_for_joins(Query *root, List *joinrels) lfirsti(innerrel->relids)); /* need to flatten the relids list */ - joinrel->relids = intAppend(outerrelids, innerrelids); + joinrel->relids = nconc(listCopy(outerrelids), + listCopy(innerrelids)); /* * 1. Consider mergejoin paths where both relations must be @@ -213,11 +214,11 @@ sort_inner_and_outer(RelOptInfo *joinrel, { xmergeinfo = (MergeInfo *) lfirst(i); - outerkeys = extract_path_keys(xmergeinfo->jmethod.jmkeys, + outerkeys = make_pathkeys_from_joinkeys(xmergeinfo->jmethod.jmkeys, outerrel->targetlist, OUTER); - innerkeys = extract_path_keys(xmergeinfo->jmethod.jmkeys, + innerkeys = make_pathkeys_from_joinkeys(xmergeinfo->jmethod.jmkeys, innerrel->targetlist, INNER); @@ -352,7 +353,7 @@ match_unsorted_outer(RelOptInfo *joinrel, innerrel->width, false)))); if (!path_is_cheaper_than_sort) { - varkeys = extract_path_keys(matchedJoinKeys, + varkeys = make_pathkeys_from_joinkeys(matchedJoinKeys, innerrel->targetlist, INNER); } @@ -473,7 +474,7 @@ match_unsorted_inner(RelOptInfo *joinrel, if (temp2) { - List *outerkeys = extract_path_keys(matchedJoinKeys, + List *outerkeys = make_pathkeys_from_joinkeys(matchedJoinKeys, outerrel->targetlist, OUTER); List *merge_pathkeys = new_join_pathkeys(outerkeys, @@ -551,10 +552,12 @@ hash_inner_and_outer(RelOptInfo *joinrel, foreach(i, hashinfo_list) { xhashinfo = (HashInfo *) lfirst(i); - outerkeys = extract_path_keys(((JoinMethod *) xhashinfo)->jmkeys, + outerkeys = make_pathkeys_from_joinkeys( + ((JoinMethod *) xhashinfo)->jmkeys, outerrel->targetlist, OUTER); - innerkeys = extract_path_keys(((JoinMethod *) xhashinfo)->jmkeys, + innerkeys = make_pathkeys_from_joinkeys( + ((JoinMethod *) xhashinfo)->jmkeys, innerrel->targetlist, INNER); hash_pathkeys = new_join_pathkeys(outerkeys, |