Minor additional refactoring of planner.c's PathTarget handling.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 11 Mar 2016 15:24:33 +0000 (10:24 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 11 Mar 2016 15:24:55 +0000 (10:24 -0500)
commit49635d7b3e86c0088eadd80db1563a210bc89efd
treee87fb02c921f5c4f27ef1e7468ce40115eb56ff9
parent92f03fe76fe6be683a8b7497579158b8a82b2c25
Minor additional refactoring of planner.c's PathTarget handling.

Teach make_group_input_target() and make_window_input_target() to work
entirely with the PathTarget representation of tlists, rather than
constructing a tlist and immediately deconstructing it into PathTarget
format.  In itself this only saves a few palloc's; the bigger picture is
that it opens the door for sharing cost_qual_eval work across all of
planner.c's constructions of PathTargets.  I'll come back to that later.

In support of this, flesh out tlist.c's infrastructure for PathTargets
a bit more.
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/tlist.c
src/include/optimizer/tlist.h