diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index 7e8813f58e..3c7b111769 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.33 1999/02/14 05:14:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.34 1999/02/14 05:27:11 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -162,7 +162,7 @@ static List * find_join_paths(Query *root, List *outer_rels, int levels_needed) { List *x; - List *new_rels = NIL; + List *joined_rels = NIL; RelOptInfo *rel; /******************************************* @@ -181,14 +181,14 @@ find_join_paths(Query *root, List *outer_rels, int levels_needed) /* * Determine all possible pairs of relations to be joined at this * level. Determine paths for joining these relation pairs and - * modify 'new_rels' accordingly, then eliminate redundant join + * modify 'joined_rels' accordingly, then eliminate redundant join * relations. */ - new_rels = make_new_rels_by_joins(root, outer_rels); + joined_rels = make_new_rels_by_joins(root, outer_rels); - update_rels_pathlist_for_joins(root, new_rels); + update_rels_pathlist_for_joins(root, joined_rels); - merge_rels_with_same_relids(new_rels); + merge_rels_with_same_relids(joined_rels); #if 0 /* @@ -196,11 +196,11 @@ find_join_paths(Query *root, List *outer_rels, int levels_needed) * rel, * consider doing pullup -- JMH */ if (XfuncMode != XFUNC_NOPULL && XfuncMode != XFUNC_OFF) - foreach(x, new_rels) + foreach(x, joined_rels) xfunc_trypullup((RelOptInfo *) lfirst(x)); #endif - rels_set_cheapest(new_rels); + rels_set_cheapest(joined_rels); if (BushyPlanFlag) { @@ -211,10 +211,10 @@ find_join_paths(Query *root, List *outer_rels, int levels_needed) * involves the join relation to the joininfo list of the * other relation */ - add_new_joininfos(root, new_rels, outer_rels); + add_new_joininfos(root, joined_rels, outer_rels); } - foreach(x, new_rels) + foreach(x, joined_rels) { rel = (RelOptInfo *) lfirst(x); @@ -239,20 +239,20 @@ find_join_paths(Query *root, List *outer_rels, int levels_needed) /* * merge join rels if then contain the same list of base rels */ - outer_rels = merge_joinrels(new_rels, outer_rels); + outer_rels = merge_joinrels(joined_rels, outer_rels); root->join_rel_list = outer_rels; } else - root->join_rel_list = new_rels; + root->join_rel_list = joined_rels; if (!BushyPlanFlag) - outer_rels = new_rels; + outer_rels = joined_rels; } if (BushyPlanFlag) return final_join_rels(outer_rels); else - return new_rels; + return joined_rels; } /***************************************************************************** diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c index e5d1901790..4e344e0aa8 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.24 1999/02/14 04:56:46 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.25 1999/02/14 05:27:12 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -66,8 +66,6 @@ update_rels_pathlist_for_joins(Query *root, List *joinrels) { List *mergeinfo_list = NIL; List *hashinfo_list = NIL; - List *temp_list = NIL; - List *path = NIL; List *j; foreach(j, joinrels) @@ -144,37 +142,11 @@ update_rels_pathlist_for_joins(Query *root, List *joinrels) * 4. Consider paths where both outer and inner relations must be * hashed before being joined. */ - pathlist = add_pathlist(joinrel, pathlist, hash_inner_and_outer(joinrel, outerrel, innerrel, hashinfo_list)); joinrel->pathlist = pathlist; - - /* - * 'OuterJoinCost is only valid when calling - * (match_unsorted_inner) with the same arguments as the previous - * invokation of (match_unsorted_outer), so clear the field before - * going on. - */ - temp_list = innerrel->pathlist; - foreach(path, temp_list) - { - /* - * XXX - * - * This gross hack is to get around an apparent optimizer bug on - * Sparc (or maybe it is a bug of ours?) that causes really - * wierd behavior. - */ - if (IsA_JoinPath(path)) - ((Path *) lfirst(path))->outerjoincost = (Cost) 0; - - /* - * do it iff it is a join path, which is not always true, esp - * since the base level - */ - } } }