Commit 129543e2 authored by Bruce Momjian's avatar Bruce Momjian

optimizer cleanup

parent dbd80c97
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/joinutils.c,v 1.16 1999/02/10 21:02:39 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/joinutils.c,v 1.17 1999/02/11 05:29:07 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -373,8 +373,7 @@ new_join_pathkey(List *subkeys, ...@@ -373,8 +373,7 @@ new_join_pathkey(List *subkeys,
if (tlist_key) if (tlist_key)
{ {
if (!member(tlist_key, matched_subkeys)) if (!member(tlist_key, matched_subkeys))
newly_considered_subkeys = lcons(tlist_key, newly_considered_subkeys = lcons(tlist_key, matched_subkeys);
matched_subkeys);
} }
else else
newly_considered_subkeys = matched_subkeys; newly_considered_subkeys = matched_subkeys;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.24 1999/02/11 04:08:43 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.25 1999/02/11 05:29:08 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -195,14 +195,19 @@ better_path(Path *new_path, List *unique_paths, bool *is_new) ...@@ -195,14 +195,19 @@ better_path(Path *new_path, List *unique_paths, bool *is_new)
* more expensive and replace unordered path with ordered * more expensive and replace unordered path with ordered
* path if it is not more expensive. * path if it is not more expensive.
*/ */
/* same keys, and new is cheaper, use it */
if ((longer_key == 0 && new_path->path_cost < path->path_cost) || if ((longer_key == 0 && new_path->path_cost < path->path_cost) ||
(longer_key == 1 && new_path->path_cost <= path->path_cost) || /* new is longer, and cheaper, use it */
(longer_key == 2 && new_path->path_cost >= path->path_cost)) (longer_key == 1 && new_path->path_cost <= path->path_cost))
{ {
*is_new = false; *is_new = false;
return new_path; return new_path;
} }
else /* same keys, new is more expensive, stop */
else if ((longer_key == 0 && new_path->path_cost >= path->path_cost) ||
/* old is longer, and less expensive, stop */
(longer_key == 2 && new_path->path_cost >= path->path_cost))
{ {
*is_new = false; *is_new = false;
return NULL; return NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment