postgresql/src
Tom Lane 3f56ca1d49 Reduce the rescan cost estimate for Materialize nodes to cpu_operator_cost per
tuple, instead of the former cpu_tuple_cost.  It is sane to charge less than
cpu_tuple_cost because Materialize never does any qual-checking or projection,
so it's got less overhead than most plan node types.  In particular, we want
to have the same charge here as is charged for readout in cost_sort.  That
avoids the problem recently exhibited by Teodor wherein the planner prefers
a useless sort over a materialize step in a context where a lot of rescanning
will happen.  The rescan costs should be just about the same for both node
types, so make their estimates the same.

Not back-patching because all of the current logic for rescan cost estimates
is new in 9.0.  The old handling of rescans is sufficiently not-sane that
changing this in that structure is a bit pointless, and might indeed cause
regressions.
2010-02-19 21:49:10 +00:00
..
backend Reduce the rescan cost estimate for Materialize nodes to cpu_operator_cost per 2010-02-19 21:49:10 +00:00
bin Small corrections to message output targets in pg_ctl 2010-02-19 14:12:19 +00:00
include Revert version stamping in wrong branch 2010-02-19 18:42:30 +00:00
interfaces Translation updates for 9.0alpha4 2010-02-19 00:40:05 +00:00
makefiles Adjust windows makefiles too, now that the walreceiver dynamic module 2010-01-20 09:30:07 +00:00
pl Translation updates for 9.0alpha4 2010-02-19 00:40:05 +00:00
port Stamp HEAD as 9.0devel, and update various places that were referring to 8.5 2010-02-17 04:19:41 +00:00
template Tweak configure to attempt to add -qnoansialias to CFLAGS whenever running 2009-02-11 20:02:40 +00:00
test Fix ExecEvalArrayRef to pass down the old value of the array element or slice 2010-02-18 18:41:47 +00:00
timezone Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tools Stamp HEAD as 9.0devel, and update various places that were referring to 8.5 2010-02-17 04:19:41 +00:00
tutorial Remove copyright mention of Andrew Yu, per author's permission. 2010-02-02 18:52:02 +00:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Rethink the way walreceiver is linked into the backend. Instead than shoving 2010-01-20 09:16:24 +00:00
Makefile.global.in Python 3 support in PL/Python 2009-12-15 22:59:55 +00:00
Makefile.shlib Derived files that are shipped in the distribution used to be built in the 2009-08-28 20:26:19 +00:00
nls-global.mk Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00