diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-02-03 21:08:49 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-02-03 21:08:49 +0000 |
commit | 8b109ebf14cf449d36f293a4cb8188360fd5aec6 (patch) | |
tree | 653cf3144a049c85856f9bd8ee4edae6a09e94f4 /src/include/optimizer/pathnode.h | |
parent | a25b1decef62b2b47504bbf40b9add149ed5b8dc (diff) |
Teach planner to convert simple UNION ALL subqueries into append relations,
thereby sharing code with the inheritance case. This puts the UNION-ALL-view
approach to partitioned tables on par with inheritance, so far as constraint
exclusion is concerned: it works either way. (Still need to update the docs
to say so.) The definition of "simple UNION ALL" is a little simpler than
I would like --- basically the union arms can only be SELECT * FROM foo
--- but it's good enough for partitioned-table cases.
Diffstat (limited to 'src/include/optimizer/pathnode.h')
-rw-r--r-- | src/include/optimizer/pathnode.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h index 84d9f865e37..3ba612c1956 100644 --- a/src/include/optimizer/pathnode.h +++ b/src/include/optimizer/pathnode.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/pathnode.h,v 1.64 2006/01/31 21:39:25 tgl Exp $ + * $PostgreSQL: pgsql/src/include/optimizer/pathnode.h,v 1.65 2006/02/03 21:08:49 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -95,5 +95,12 @@ extern RelOptInfo *build_join_rel(PlannerInfo *root, RelOptInfo *inner_rel, JoinType jointype, List **restrictlist_ptr); +extern RelOptInfo *translate_join_rel(PlannerInfo *root, + RelOptInfo *oldjoinrel, + AppendRelInfo *appinfo, + RelOptInfo *outer_rel, + RelOptInfo *inner_rel, + JoinType jointype, + List **restrictlist_ptr); #endif /* PATHNODE_H */ |