summaryrefslogtreecommitdiff
path: root/src/include/optimizer/restrictinfo.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-01-20 20:45:41 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-01-20 20:45:41 +0000
commitf41803bb39bc2949db200116a609fd242d0ec221 (patch)
tree2c81bcf712ab8b46133c2f50bbee34b2b3ea7129 /src/include/optimizer/restrictinfo.h
parent2b7334d4877ba445003f96b0bb7eed4e7078a39b (diff)
downloadpostgresql-f41803bb39bc2949db200116a609fd242d0ec221.tar.gz
Refactor planner's pathkeys data structure to create a separate, explicit
representation of equivalence classes of variables. This is an extensive rewrite, but it brings a number of benefits: * planner no longer fails in the presence of "incomplete" operator families that don't offer operators for every possible combination of datatypes. * avoid generating and then discarding redundant equality clauses. * remove bogus assumption that derived equalities always use operators named "=". * mergejoins can work with a variety of sort orders (e.g., descending) now, instead of tying each mergejoinable operator to exactly one sort order. * better recognition of redundant sort columns. * can make use of equalities appearing underneath an outer join.
Diffstat (limited to 'src/include/optimizer/restrictinfo.h')
-rw-r--r--src/include/optimizer/restrictinfo.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/include/optimizer/restrictinfo.h b/src/include/optimizer/restrictinfo.h
index 619e7cef39..272c5a6703 100644
--- a/src/include/optimizer/restrictinfo.h
+++ b/src/include/optimizer/restrictinfo.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/optimizer/restrictinfo.h,v 1.39 2007/01/05 22:19:56 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/optimizer/restrictinfo.h,v 1.40 2007/01/20 20:45:40 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -32,12 +32,8 @@ extern List *extract_actual_clauses(List *restrictinfo_list,
extern void extract_actual_join_clauses(List *restrictinfo_list,
List **joinquals,
List **otherquals);
-extern List *remove_redundant_join_clauses(PlannerInfo *root,
- List *restrictinfo_list,
- bool isouterjoin);
extern List *select_nonredundant_join_clauses(PlannerInfo *root,
List *restrictinfo_list,
- List *reference_list,
- bool isouterjoin);
+ List *reference_list);
#endif /* RESTRICTINFO_H */