diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1997-06-05 09:33:52 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1997-06-05 09:33:52 +0000 |
commit | 11073bee5cc573967627cc114698bc5412e4f919 (patch) | |
tree | afe3fc2f853f56acb84f0bfd30d35a11514e65fe | |
parent | 39c73eff63693fdca415000bbc0f604cdd4c5de6 (diff) |
allpaths.c:find_join_paths(): compute_rel_size() shouldn't be called
for join-relations. Sizes already computed by
prune_rel_paths():compute_joinrel_size().
joinrels.c:
< if ( _use_right_sided_plans_ )
---
> if ( _use_right_sided_plans_ &&
> length (outer_rel->relids) > 1 )
- r_plans are useful when outer_rel is join-relation... It
decreases the size of search space...
-rw-r--r-- | src/backend/optimizer/path/allpaths.c | 4 | ||||
-rw-r--r-- | src/backend/optimizer/path/joinrels.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index 6469e7ecb68..506bab263a0 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.8 1997/06/02 11:14:40 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.9 1997/06/05 09:33:50 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -216,7 +216,9 @@ find_join_paths(Query *root, List *outer_rels, int levels_left) foreach(x, new_rels) { rel = (Rel*)lfirst(x); +#if 0 /* compute_joinrel_size already called by prune_rel_paths */ rel->size = compute_rel_size(rel); +#endif rel->width = compute_rel_width(rel); /*#define OPTIMIZER_DEBUG*/ diff --git a/src/backend/optimizer/path/joinrels.c b/src/backend/optimizer/path/joinrels.c index a640988b50d..00f8a04a050 100644 --- a/src/backend/optimizer/path/joinrels.c +++ b/src/backend/optimizer/path/joinrels.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.3 1997/05/20 10:37:26 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.4 1997/06/05 09:33:52 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -110,7 +110,8 @@ find_clause_joins(Query *root, Rel *outer_rel, List *joininfo_list) get_base_rel(root, lfirsti(other_rels)), joininfo); /* how about right-sided plan ? */ - if ( _use_right_sided_plans_ ) + if ( _use_right_sided_plans_ && + length (outer_rel->relids) > 1 ) { if (rel != NULL) join_list = lappend(join_list, rel); |