summaryrefslogtreecommitdiff
path: root/src/include/optimizer/pathnode.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-02-03 21:08:49 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-02-03 21:08:49 +0000
commit8b109ebf14cf449d36f293a4cb8188360fd5aec6 (patch)
tree653cf3144a049c85856f9bd8ee4edae6a09e94f4 /src/include/optimizer/pathnode.h
parenta25b1decef62b2b47504bbf40b9add149ed5b8dc (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.h9
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 */