Re: initial pruning in parallel append

Поиск
Список
Период
Сортировка
Искать
От
Robert Haas
Тема
Re: initial pruning in parallel append
Дата
Msg-id
CA+TgmoZhKHGop5qeFT1CMqvYYiqPG2ymnZKguZN18K+H_DvB7g@mail.gmail.com
Ответ на
Список
Дерево обсуждения
initial pruning in parallel append Amit Langote <amitlangote09@gmail.com>
Re: initial pruning in parallel append Robert Haas <robertmhaas@gmail.com>
Re: initial pruning in parallel append Tom Lane <tgl@sss.pgh.pa.us>
Re: initial pruning in parallel append Amit Langote <amitlangote09@gmail.com>
Re: initial pruning in parallel append Robert Haas <robertmhaas@gmail.com>
Re: initial pruning in parallel append Amit Langote <amitlangote09@gmail.com>
Re: initial pruning in parallel append Robert Haas <robertmhaas@gmail.com>
Re: initial pruning in parallel append Amit Langote <amitlangote09@gmail.com>
Re: initial pruning in parallel append Robert Haas <robertmhaas@gmail.com>
Re: initial pruning in parallel append Amit Langote <amitlangote09@gmail.com>
Re: initial pruning in parallel append Robert Haas <robertmhaas@gmail.com>
On Mon, Aug 7, 2023 at 10:25 AM Amit Langote  wrote:
> Note we’re talking here about “initial” pruning that occurs during ExecInitNode(). Workers are only launched during ExecGather[Merge]() which thereafter do ExecInitNode() on their copy of the the plan tree.  So if we are to pass the pruning results for cross-checking, it will have to be from the leader to workers.

That doesn't seem like a big problem because there aren't many node
types that do pruning, right? I think we're just talking about Append
and MergeAppend, or something like that, right? You just need the
ExecWhateverEstimate function to budget some DSM space to store the
information, which can basically just be a bitmap over the set of
child plans, and the ExecWhateverInitializeDSM copies the information
into that DSM space, and ExecWhateverInitializeWorker() copies the
information from the shared space back into the local node (or maybe
just points to it, if the representation is sufficiently compatible).
I feel like this is an hour or two's worth of coding, unless I'm
missing something, and WAY easier than trying to reason about what
happens if expression evaluation isn't as stable as we'd like it to
be.

-- 
Robert Haas
EDB: http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления
От: Tom Lane
Дата:
От: Robert Haas
Дата:
FAQ