optimizer update
This commit is contained in:
parent
847da1a1ee
commit
55d0465009
1 changed files with 11 additions and 5 deletions
|
@ -7,7 +7,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.31 1999/02/11 21:05:28 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.32 1999/02/12 02:37:52 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -211,19 +211,25 @@ better_path(Path *new_path, List *unique_paths, bool *is_new)
|
|||
new_path->path_cost <= path->path_cost))
|
||||
{
|
||||
*is_new = false;
|
||||
return new_path;
|
||||
return path;
|
||||
}
|
||||
|
||||
/* same keys, new is more expensive, stop */
|
||||
else if
|
||||
((better_key == 0 && better_sort == 0 &&
|
||||
new_path->path_cost >= path->path_cost) ||
|
||||
if ((better_key == 0 && better_sort == 0 &&
|
||||
new_path->path_cost >= path->path_cost) ||
|
||||
|
||||
/* old is better, and less expensive, stop */
|
||||
(((better_key == 2 && better_sort != 1) ||
|
||||
(better_key != 1 && better_sort == 2)) &&
|
||||
new_path->path_cost >= path->path_cost))
|
||||
{
|
||||
#ifdef OPTDB_DEBUG
|
||||
printf("better key %d better sort %d\n", better_key, better_sort);
|
||||
printf("new\n");
|
||||
pprint(new_path);
|
||||
printf("old\n");
|
||||
pprint(path);
|
||||
#endif
|
||||
*is_new = false;
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue