]> granicus.if.org Git - postgresql/commit
Improve make_subplanTargetList to avoid including Vars unnecessarily.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 16 Jul 2011 20:46:55 +0000 (16:46 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 16 Jul 2011 20:46:55 +0000 (16:46 -0400)
commit1bc16a946008a7cbb33a9a06a7c6765a807d7f59
tree37c4b6b9bd3b8191850e2155304de9b5512d95c3
parent1af37ec96d97722aeb527f5f43d6f6f2304f0861
Improve make_subplanTargetList to avoid including Vars unnecessarily.

If a Var was used only in a GROUP BY expression, the previous
implementation would include the Var by itself (as well as the expression)
in the generated targetlist.  This wouldn't affect the efficiency of the
scan/join part of the plan at all, but it could result in passing
unnecessarily-wide rows through sorting and grouping steps.  It turns out
to take only a little more code, and not noticeably more time, to generate
a tlist without such redundancy, so let's do that.  Per a recent gripe from
HarmeekSingh Bedi.
src/backend/optimizer/plan/planner.c