diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1997-05-20 10:37:26 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1997-05-20 10:37:26 +0000 |
commit | 4a8c3dddc364c6098e3740a201627f4b544ca274 (patch) | |
tree | c191c235b92e55a94053e204afd31af99136c25a /src | |
parent | c4ab256383f1201db057a57ed0606795291d1704 (diff) | |
download | postgresql-4a8c3dddc364c6098e3740a201627f4b544ca274.tar.gz postgresql-4a8c3dddc364c6098e3740a201627f4b544ca274.zip |
Consider right-sided plans if _use_right_sided_plans_ is true.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/optimizer/path/joinrels.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/backend/optimizer/path/joinrels.c b/src/backend/optimizer/path/joinrels.c index 2632fc39514..a640988b50d 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.2 1997/02/20 02:54:09 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.3 1997/05/20 10:37:26 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -23,6 +23,11 @@ #include "optimizer/joininfo.h" #include "optimizer/pathnode.h" +#ifdef USE_RIGHT_SIDED_PLANS +bool _use_right_sided_plans_ = true; +#else +bool _use_right_sided_plans_ = false; +#endif static List *find_clause_joins(Query *root, Rel *outer_rel, List *joininfo_list); static List *find_clauseless_joins(Rel *outer_rel, List *inner_rels); @@ -104,6 +109,15 @@ find_clause_joins(Query *root, Rel *outer_rel, List *joininfo_list) rel = init_join_rel(outer_rel, get_base_rel(root, lfirsti(other_rels)), joininfo); + /* how about right-sided plan ? */ + if ( _use_right_sided_plans_ ) + { + if (rel != NULL) + join_list = lappend(join_list, rel); + rel = init_join_rel(get_base_rel(root, lfirsti(other_rels)), + outer_rel, + joininfo); + } } else if (BushyPlanFlag) { rel = init_join_rel(outer_rel, get_join_rel(root, other_rels), |