Re: Bypassing cursors in postgres_fdw to enable parallel plans

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Rafia Sabih <rafia(dot)pghackers(at)gmail(dot)com>
Cc: KENAN YILMAZ <kenan(dot)yilmaz(at)localus(dot)com(dot)tr>, Andy Fan <zhihuifan1213(at)163(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Bypassing cursors in postgres_fdw to enable parallel plans
Date: 2026-07-06 18:19:25
Message-ID: CA+TgmoaSG5fdV4kK=uq2ETy1m=9b_XEOO+gz5K36e3orS7e3MQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jul 3, 2026 at 8:51 AM Rafia Sabih <rafia(dot)pghackers(at)gmail(dot)com> wrote:
> On Thu, 2 Jul 2026 at 19:57, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> On Mon, Jun 29, 2026 at 5:27 AM Rafia Sabih <rafia(dot)pghackers(at)gmail(dot)com> wrote:
>> > So, do you suggest we can have a backpointer of conn also in active_fsstate...?
>>
>> I think that fsstate and active_fsstate have to be pointing to the
>> same conn_state object. Do you think otherwise?
>>
> No, but I don't understand why you think they can be different in the current implementation.
> Currently, as per init_scan fsstate->conn_state->active_scan = fsstate, and it is never reassigned or anything.
> So they cannot have different conn_state.
> Am I missing something?

I don't think they can be different. I think you shouldn't be passing
both of them, because save_to_tuplestore() is buggy if it ever
references fsstate. If you only pass active_fsstate, then that can't
happen.

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2026-07-06 18:40:23 Re: Proposal: Conflict log history table for Logical Replication
Previous Message Robert Haas 2026-07-06 18:18:04 Re: implement CAST(expr AS type FORMAT 'template')