From 4a8c3dddc364c6098e3740a201627f4b544ca274 Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" Date: Tue, 20 May 1997 10:37:26 +0000 Subject: [PATCH] Consider right-sided plans if _use_right_sided_plans_ is true. --- src/backend/optimizer/path/joinrels.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/path/joinrels.c b/src/backend/optimizer/path/joinrels.c index 2632fc3951..a640988b50 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),