Unneeded parallel safety tests in grouping_planner
Вложения
В списке pgsql-hackers по дате отправления:
| От | Etsuro Fujita |
|---|---|
| Тема | Unneeded parallel safety tests in grouping_planner |
| Дата | |
| Msg-id | 5C768669.8070207@lab.ntt.co.jp обсуждение исходный текст |
| Ответы |
Re: Unneeded parallel safety tests in grouping_planner
|
| Список | pgsql-hackers |
Hi,
Yet another thing I noticed while working on [1] is this in
grouping_planner:
/*
* If the input rel is marked consider_parallel and there's nothing
that's
* not parallel-safe in the LIMIT clause, then the final_rel can be
marked
* consider_parallel as well. Note that if the query has rowMarks or is
* not a SELECT, consider_parallel will be false for every relation
in the
* query.
*/
if (current_rel->consider_parallel &&
is_parallel_safe(root, parse->limitOffset) &&
is_parallel_safe(root, parse->limitCount))
final_rel->consider_parallel = true;
If there is a need to add a LIMIT node, we don't consider generating
partial paths for the final relation below (see commit
0927d2f46ddd4cf7d6bf2cc84b3be923e0aedc52), so it seems unnecessary
anymore to assess the parallel-safety of the LIMIT and OFFSET clauses.
To save cycles, why not remove those tests from that function like the
attached?
Best regards,
Etsuro Fujita
[1] https://commitfest.postgresql.org/22/1950/
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера