diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-28 22:13:41 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-28 22:13:41 +0000 |
commit | 2e46b762eb1c15de2bcda785469a753a753747fb (patch) | |
tree | 54bb20d645df6e5bede49e6c405a93b137c65a20 /src/include/optimizer/cost.h | |
parent | 955a1f81a702489102b2526e24631b9f51e14247 (diff) | |
download | postgresql-2e46b762eb1c15de2bcda785469a753a753747fb.tar.gz postgresql-2e46b762eb1c15de2bcda785469a753a753747fb.zip |
Extend join-selectivity API (oprjoin interface) so that join type is
passed to join selectivity estimators. Make use of this in eqjoinsel
to derive non-bogus selectivity for IN clauses. Further tweaking of
cost estimation for IN.
initdb forced because of pg_proc.h changes.
Diffstat (limited to 'src/include/optimizer/cost.h')
-rw-r--r-- | src/include/optimizer/cost.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h index aca6097bc1c..0feb56dd7c9 100644 --- a/src/include/optimizer/cost.h +++ b/src/include/optimizer/cost.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: cost.h,v 1.51 2003/01/27 20:51:54 tgl Exp $ + * $Id: cost.h,v 1.52 2003/01/28 22:13:41 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -88,13 +88,16 @@ extern void set_function_size_estimates(Query *root, RelOptInfo *rel); * routines to compute clause selectivities */ extern Selectivity restrictlist_selectivity(Query *root, - List *restrictinfo_list, - int varRelid); + List *restrictinfo_list, + int varRelid, + JoinType jointype); extern Selectivity clauselist_selectivity(Query *root, - List *clauses, - int varRelid); + List *clauses, + int varRelid, + JoinType jointype); extern Selectivity clause_selectivity(Query *root, - Node *clause, - int varRelid); + Node *clause, + int varRelid, + JoinType jointype); #endif /* COST_H */ |