aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVadim B. Mikheev <vadim4o@yahoo.com>1997-05-20 10:37:26 +0000
committerVadim B. Mikheev <vadim4o@yahoo.com>1997-05-20 10:37:26 +0000
commit4a8c3dddc364c6098e3740a201627f4b544ca274 (patch)
treec191c235b92e55a94053e204afd31af99136c25a /src
parentc4ab256383f1201db057a57ed0606795291d1704 (diff)
downloadpostgresql-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.c16
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),