Обсуждение: pgsql: Minor additional refactoring of planner.c's PathTarget handling.

Поиск
Список
Период
Сортировка

pgsql: Minor additional refactoring of planner.c's PathTarget handling.

От
Tom Lane
Дата:
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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/49635d7b3e86c0088eadd80db1563a210bc89efd

Modified Files
--------------
src/backend/optimizer/plan/planner.c | 126 +++++++++++++++++------------------
src/backend/optimizer/util/tlist.c   |  46 +++++++++++++
src/include/optimizer/tlist.h        |   3 +
3 files changed, 111 insertions(+), 64 deletions(-)