]> granicus.if.org Git - postgresql/commit
Account for SRFs in targetlists in planner rowcount estimates.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 21 Jul 2012 21:45:07 +0000 (17:45 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 21 Jul 2012 21:45:07 +0000 (17:45 -0400)
commit31c7c642b6419b43eff903285e3da65e3f1901d6
treef7c172f0de2d1692289f484e642f85ed01bb40c5
parented0af3324702685cce63aed0641b4cbb45816b50
Account for SRFs in targetlists in planner rowcount estimates.

We made use of the ROWS estimate for set-returning functions used in FROM,
but not for those used in SELECT targetlists; which is a bit of an
oversight considering there are common usages that require the latter
approach.  Improve that.  (I had initially thought it might be worth
folding this into cost_qual_eval, but after investigation concluded that
that wouldn't be very helpful, so just do it separately.)  Per complaint
from David Johnston.

Back-patch to 9.2, but not further, for fear of destabilizing plan choices
in existing releases.
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planagg.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/clauses.c
src/include/optimizer/clauses.h
src/include/optimizer/planner.h