pgsql: Improve handling of pathtargets in planner.c.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Improve handling of pathtargets in planner.c.
Дата
Msg-id E1adXMD-0006Nu-AM@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Improve handling of pathtargets in planner.c.

Refactor so that the internal APIs in planner.c deal in PathTargets not
targetlists, and establish a more regular structure for deriving the
targets needed for successive steps.

There is more that could be done here; calculating the eval costs of each
successive target independently is both inefficient and wrong in detail,
since we won't actually recompute values available from the input node's
tlist.  But it's no worse than what happened before the pathification
rewrite.  In any case this seems like a good starting point for considering
how to handle Konstantin Knizhnik's function-evaluation-postponement patch.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/51c0f63e4d76a86b44e87876a6addcfffb01ec28

Modified Files
--------------
src/backend/optimizer/plan/planner.c | 235 ++++++++++++++++++-----------------
src/backend/optimizer/util/clauses.c |  10 +-
src/backend/optimizer/util/tlist.c   |  60 +++++++++
src/include/optimizer/tlist.h        |   3 +
4 files changed, 190 insertions(+), 118 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: pgsql: Add valgrind suppressions for python code.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix copy-and-pasteo in comment.