pgsql: Teach create_projection_plan to omit projection where possible.

Поиск
Список
Период
Сортировка
От Robert Haas
Тема pgsql: Teach create_projection_plan to omit projection where possible.
Дата
Msg-id E1f1dOm-0006WO-3f@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Teach create_projection_plan to omit projection where possible.

We sometimes insert a ProjectionPath into a plan tree when projection
is not strictly required. The existing code already arranges to avoid
emitting a Result node when the ProjectionPath's subpath can perform
the projection itself, but previously it didn't consider the
possibility that the parent node might not actually require the
projection to be performed at all.

Skipping projection when it's not required can not only avoid Result
nodes that aren't needed, but also avoid losing the "physical tlist"
optimization unneccessarily.

Patch by me, reviewed by Amit Kapila.

Discussion: http://postgr.es/m/CA+TgmoakT5gmahbPWGqrR2nAdFOMAOnOXYoWHRdVfGWs34t6_A@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d7c19e62a8e0a634eb6b29f8f1111d944e57081f

Modified Files
--------------
src/backend/optimizer/plan/createplan.c | 98 +++++++++++++++++++++++++--------
1 file changed, 75 insertions(+), 23 deletions(-)


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: pgsql: C comments: "a" <--> "an" corrections
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Postpone generate_gather_paths for topmost scan/join rel.