diff options
Diffstat (limited to 'src/backend/optimizer/plan/planner.c')
-rw-r--r-- | src/backend/optimizer/plan/planner.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index ddfc4289173..cc3d9dfd7f8 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.15 1997/12/22 05:42:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.16 1997/12/24 06:06:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -81,11 +81,19 @@ planner(Query *parse) int rt_index; - /* - * plan inheritance - */ - rt_index = first_matching_rt_entry(rangetable, INHERITS_FLAG); - if (rt_index != -1) + if (parse->unionClause) + { + result_plan = (Plan *) plan_union_queries(0, /* none */ + parse, + UNION_FLAG); + /* XXX do we need to do this? bjm 12/19/97 */ + tlist = preprocess_targetlist(tlist, + parse->commandType, + parse->resultRelation, + parse->rtable); + } + else if ((rt_index = + first_matching_rt_entry(rangetable, INHERITS_FLAG)) != -1) { result_plan = (Plan *) plan_union_queries((Index) rt_index, parse, |