postgresql/src/include/optimizer
Tom Lane 2415ad9831 Teach tuplestore.c to throw away data before the "mark" point when the caller
is using mark/restore but not rewind or backward-scan capability.  Insert a
materialize plan node between a mergejoin and its inner child if the inner
child is a sort that is expected to spill to disk.  The materialize shields
the sort from the need to do mark/restore and thereby allows it to perform
its final merge pass on-the-fly; while the materialize itself is normally
cheap since it won't spill to disk unless the number of tuples with equal
key values exceeds work_mem.

Greg Stark, with some kibitzing from Tom Lane.
2007-05-21 17:57:35 +00:00
..
clauses.h Get rid of some old and crufty global variables in the planner. When 2007-02-19 07:03:34 +00:00
cost.h Teach tuplestore.c to throw away data before the "mark" point when the caller 2007-05-21 17:57:35 +00:00
geqo_copy.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_gene.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_misc.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_mutation.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_pool.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_random.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_recombination.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo_selection.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
geqo.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
joininfo.h Refactor planner's pathkeys data structure to create a separate, explicit 2007-01-20 20:45:41 +00:00
pathnode.h Refactor planner's pathkeys data structure to create a separate, explicit 2007-01-20 20:45:41 +00:00
paths.h Avoid running build_index_pathkeys() in situations where there cannot 2007-04-15 20:09:28 +00:00
plancat.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
planmain.h Teach tuplesort.c about "top N" sorting, in which only the first N tuples 2007-05-04 01:13:45 +00:00
planner.h Expose more cursor-related functionality in SPI: specifically, allow 2007-04-16 01:14:58 +00:00
predtest.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
prep.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
restrictinfo.h Refactor planner's pathkeys data structure to create a separate, explicit 2007-01-20 20:45:41 +00:00
subselect.h Get rid of some old and crufty global variables in the planner. When 2007-02-19 07:03:34 +00:00
tlist.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
var.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00