postgresql/src/include/optimizer
Tom Lane bdfbfde1b1 IN clauses appearing at top level of WHERE can now be handled as joins.
There are two implementation techniques: the executor understands a new
JOIN_IN jointype, which emits at most one matching row per left-hand row,
or the result of the IN's sub-select can be fed through a DISTINCT filter
and then joined as an ordinary relation.
Along the way, some minor code cleanup in the optimizer; notably, break
out most of the jointree-rearrangement preprocessing in planner.c and
put it in a new file prep/prepjointree.c.
2003-01-20 18:55:07 +00:00
..
clauses.h Fix parse_agg.c to detect ungrouped Vars in sub-SELECTs; remove code 2003-01-17 03:25:04 +00:00
cost.h Revise cost_qual_eval() to compute both startup (one-time) and per-tuple 2003-01-12 22:35:29 +00:00
geqo_copy.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo_gene.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo_misc.h First phase of implementing hash-based grouping/aggregation. An AGG plan 2002-11-06 00:00:45 +00:00
geqo_mutation.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo_pool.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo_random.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo_recombination.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo_selection.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
geqo.h Fix GEQO to work again in CVS tip, by being more careful about memory 2002-12-16 21:30:30 +00:00
joininfo.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
pathnode.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
paths.h Fix GEQO to work again in CVS tip, by being more careful about memory 2002-12-16 21:30:30 +00:00
plancat.h Update copyright to 2002. 2002-06-20 20:29:54 +00:00
planmain.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
planner.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
prep.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
restrictinfo.h Restructure planning of nestloop inner indexscans so that the set of usable 2002-11-24 21:52:15 +00:00
subselect.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
tlist.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00
var.h IN clauses appearing at top level of WHERE can now be handled as joins. 2003-01-20 18:55:07 +00:00