Re: Bypassing cursors in postgres_fdw to enable parallel plans
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Rafia Sabih <rafia.pghackers@gmail.com>
Cc: KENAN YILMAZ <kenan.yilmaz@localus.com.tr>,
Andy Fan <zhihuifan1213@163.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-07-06T18:19:25Z
Lists: pgsql-hackers
On Fri, Jul 3, 2026 at 8:51 AM Rafia Sabih <rafia.pghackers@gmail.com> wrote: > On Thu, 2 Jul 2026 at 19:57, Robert Haas <robertmhaas@gmail.com> wrote: >> On Mon, Jun 29, 2026 at 5:27 AM Rafia Sabih <rafia.pghackers@gmail.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