diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-12-12 21:31:09 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-12-12 21:31:09 +0000 |
commit | bef92dadb0b18ecb04dd79bc8faf4dbccfc4dc1d (patch) | |
tree | 895b891533761d9852919019adf763981378e497 /src/backend/optimizer/geqo/geqo_eval.c | |
parent | e1b09b59ded4103eef413a743aa5e78532065dc4 (diff) |
Fix planner to do the right thing when a degenerate outer join (one whose
joinclause doesn't use any outer-side vars) requires a "bushy" plan to be
created. The normal heuristic to avoid joins with no joinclause has to be
overridden in that case. Problem is new in 8.2; before that we forced the
outer join order anyway. Per example from Teodor.
Diffstat (limited to 'src/backend/optimizer/geqo/geqo_eval.c')
-rw-r--r-- | src/backend/optimizer/geqo/geqo_eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/optimizer/geqo/geqo_eval.c b/src/backend/optimizer/geqo/geqo_eval.c index 240672edaf5..3ef4cca6a77 100644 --- a/src/backend/optimizer/geqo/geqo_eval.c +++ b/src/backend/optimizer/geqo/geqo_eval.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/optimizer/geqo/geqo_eval.c,v 1.81 2006/10/24 17:50:22 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/geqo/geqo_eval.c,v 1.81.2.1 2006/12/12 21:31:09 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -258,7 +258,7 @@ desirable_join(PlannerInfo *root, /* * Join if there is an applicable join clause. */ - if (have_relevant_joinclause(outer_rel, inner_rel)) + if (have_relevant_joinclause(root, outer_rel, inner_rel)) return true; /* |