aboutsummaryrefslogtreecommitdiff
path: root/src/include/optimizer/pathnode.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/pathnode.h
parent2b7334d4877ba445003f96b0bb7eed4e7078a39b (diff)
downloadpostgresql-f41803bb39bc2949db200116a609fd242d0ec221.tar.gz
postgresql-f41803bb39bc2949db200116a609fd242d0ec221.zip
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/pathnode.h')
-rw-r--r--src/include/optimizer/pathnode.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h
index fd5c78372ec..98a73ebc4ee 100644
--- a/src/include/optimizer/pathnode.h
+++ b/src/include/optimizer/pathnode.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/pathnode.h,v 1.75 2007/01/10 18:06:04 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/optimizer/pathnode.h,v 1.76 2007/01/20 20:45:40 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -71,9 +71,6 @@ extern MergePath *create_mergejoin_path(PlannerInfo *root,
List *restrict_clauses,
List *pathkeys,
List *mergeclauses,
- Oid *mergefamilies,
- int *mergestrategies,
- bool *mergenullsfirst,
List *outersortkeys,
List *innersortkeys);