diff options
| author | Tom Lane | 2005-09-28 21:17:02 +0000 |
|---|---|---|
| committer | Tom Lane | 2005-09-28 21:17:02 +0000 |
| commit | 2e1254e7fa0b84e83d201d0ffc7146b63a4a4a49 (patch) | |
| tree | d30cf1a229af348131f29c4ca3ebaf0f711c4129 /src/include | |
| parent | 4ff203262b9973e0a9400cf0654c347134bcfb45 (diff) | |
Repair planning bug introduced in 7.4: outer-join ON clauses that referenced
only the inner-side relation would be considered as potential equijoin clauses,
which is wrong because the condition doesn't necessarily hold above the point
of the outer join. Per test case from Kevin Grittner (bug#1916).
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/optimizer/planmain.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index 652431b894f..59b925f8b74 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/optimizer/planmain.h,v 1.88 2005/08/27 22:13:44 tgl Exp $ + * $PostgreSQL: pgsql/src/include/optimizer/planmain.h,v 1.89 2005/09/28 21:17:02 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -67,7 +67,8 @@ extern bool is_projection_capable_plan(Plan *plan); */ extern void add_base_rels_to_query(PlannerInfo *root, Node *jtnode); extern void build_base_rel_tlists(PlannerInfo *root, List *final_tlist); -extern Relids distribute_quals_to_rels(PlannerInfo *root, Node *jtnode); +extern Relids distribute_quals_to_rels(PlannerInfo *root, Node *jtnode, + bool below_outer_join); extern void process_implied_equality(PlannerInfo *root, Node *item1, Node *item2, Oid sortop1, Oid sortop2, |
