pgsql: Use appendrel planning logic for top-level UNION ALL structures.
| От | Tom Lane |
|---|---|
| Тема | pgsql: Use appendrel planning logic for top-level UNION ALL structures. |
| Дата | |
| Msg-id | E1PFY8X-0003Go-Tv@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Use appendrel planning logic for top-level UNION ALL structures. Formerly, we could convert a UNION ALL structure inside a subquery-in-FROM into an appendrel, as a side effect of pulling up the subquery into its parent; but top-level UNION ALL always caused use of plan_set_operations(). That didn't matter too much because you got an Append-based plan either way. However, now that the appendrel code can do things with MergeAppend, it's worthwhile to hack up the top-level case so it also uses appendrels. This is a bit of a stopgap; but going much further than this will require a major rewrite of the planner's set-operations support, which I'm not prepared to undertake now. For the moment let's grab the low-hanging fruit. Branch ------ master Details ------- http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=947d0c862c895618a874344322e7b07c9df05cb2 Modified Files -------------- src/backend/optimizer/plan/planner.c | 11 +++- src/backend/optimizer/prep/prepjointree.c | 121 ++++++++++++++++++++++++++--- src/include/optimizer/prep.h | 1 + 3 files changed, 121 insertions(+), 12 deletions(-)
В списке pgsql-committers по дате отправления: