Add an 'enable_material' GUC.
Robert Haas <rhaas@postgresql.org>
Add an 'enable_material' GUC. The logic for determining whether to materialize has been significantly overhauled for 9.0. In case there should be any doubt about whether materialization is a win in any particular case, this should provide a convenient way of seeing what happens without it; but even with enable_material turned off, we still materialize in cases where it is required for correctness. Thanks to Tom Lane for the review.
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/config.sgml | modified | +17 −1 |
| src/backend/optimizer/path/costsize.c | modified | +15 −4 |
| src/backend/optimizer/path/joinpath.c | modified | +6 −4 |
| src/backend/optimizer/plan/subselect.c | modified | +5 −3 |
| src/backend/utils/misc/guc.c | modified | +9 −1 |
| src/backend/utils/misc/postgresql.conf.sample | modified | +1 −0 |
| src/include/optimizer/cost.h | modified | +2 −1 |
| src/test/regress/expected/rangefuncs.out | modified | +2 −1 |