Re: Defer selection of asynchronous subplans until the executor initialization stage

From: Andrey Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>
To: Zhihong Yu <zyu(at)yugabyte(dot)com>
Cc: Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Defer selection of asynchronous subplans until the executor initialization stage
Date: 2021-06-30 04:50:01
Message-ID: edb1331c-e861-0c53-9fdb-f7ca7dfd884d@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 11/5/21 06:55, Zhihong Yu wrote:
> On Mon, May 10, 2021 at 8:45 PM Andrey Lepikhov
> <a(dot)lepikhov(at)postgrespro(dot)ru <mailto:a(dot)lepikhov(at)postgrespro(dot)ru>> wrote:
> It seems the if statement is not needed: you can directly assign false
> to  subplan->async_capable.
I have completely rewritten this patch.

Main idea:

The async_capable field of a plan node inform us that this node could
work in async mode. Each node sets this field based on its own logic.
The actual mode of a node is defined by the async_capable of PlanState
structure. It is made at the executor initialization stage.
In this patch, only an append node could define async behaviour for its
subplans.
With such approach the IsForeignPathAsyncCapable routine become
unecessary, I think.

--
regards,
Andrey Lepikhov
Postgres Professional

Attachment Content-Type Size
0001-Choose-async-append-subplans-at-the-initial-executio.patch text/plain 20.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Takashi Menjo 2021-06-30 04:52:16 Re: Map WAL segment files on PMEM as WAL buffers
Previous Message Michael Paquier 2021-06-30 04:35:24 Re: cleaning up PostgresNode.pm