optimizer cleanup.
authorBruce Momjian <bruce@momjian.us>
Sun, 14 Feb 1999 05:27:12 +0000 (05:27 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 14 Feb 1999 05:27:12 +0000 (05:27 +0000)
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/joinpath.c

index 7e8813f58e6f98fadcb4a7d5128638d1aac11cca..3c7b1117695974d1d81d8147b26719cc1428d3bd 100644 (file)
@@ -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;
 }
 
 /*****************************************************************************
index e5d190179095062fd6e1866c817def15fa991eec..4e344e0aa8aa26b01ecd5114dc4af47af25abcba 100644 (file)
@@ -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
-            */
-       }
    }
 }