1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-27 23:21:58 +03:00

optimizer cleanup.

This commit is contained in:
Bruce Momjian
1999-02-14 05:27:12 +00:00
parent 808a6df065
commit d8b482be7c
2 changed files with 15 additions and 43 deletions

View 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
*/
}
}
}