Re: foreign join error "variable not found in subplan target list"
Alexander Pyhalov <a.pyhalov@postgrespro.ru>
From: Alexander Pyhalov <a.pyhalov@postgrespro.ru>
To: Richard Guo <guofenglinux@gmail.com>
Cc: Etsuro Fujita <etsuro.fujita@gmail.com>, PostgreSQL mailing lists
<pgsql-bugs@lists.postgresql.org>
Date: 2022-08-09T11:54:14Z
Lists: pgsql-bugs
Attachments
- 0001-postgres_fdw-should-avoid-sorted-paths-which-don-t-p.patch (text/x-diff) patch 0001
Richard Guo писал 2022-08-09 06:51: > On Tue, Aug 9, 2022 at 9:59 AM Etsuro Fujita <etsuro.fujita@gmail.com> > wrote: > >> On Tue, Aug 9, 2022 at 12:26 AM Alexander Pyhalov >> <a.pyhalov@postgrespro.ru> wrote: >>> Using the following patch I'm able to get >>> "ERROR: variable not found in subplan target list" >>> on foreign join pushdown for update returning. >> >> Reproduced here. Will look into this. >> >> Thanks for the report! > > A rough look shows to me that the part of plan that causes problem > looks > like: > > -> Result > Output: ft2.ctid, ft2.*, ft4.*, ft4.c1, ft2.c2 > -> Sort > Output: ft2.ctid, ft2.*, ft4.*, ft4.c1 > Sort Key: ft4.c1 > > Note that for node 'Result', one of its target entries, 'ft2.c2', does > not appear in the target list of its subplan, i.e. node 'Sort'. > > I think something goes wrong in postgresGetForeignPlan() when we build > the list of columns to be fetched from the foreign server, and fix the > subplan's tlist with that, where we would include in columns specified > in local conditions. In this case the local condition is 'ft2.c2 === > ft4.c1', and that's how we have entry 'ft2.c2' in Result's target > list. > > Thanks > Richard Hi. The issue seems to appear due to the fact that Sort path doesn't provide all vars, needed by local_conds. What if we check for this condition specifically? -- Best regards, Alexander Pyhalov, Postgres Professional
Commits
-
postgres_fdw: Avoid 'variable not found in subplan target list' error.
- d4adff0e97f0 10.23 landed
- 07d81d1e5b75 11.18 landed
- 87fd3c9025da 12.13 landed
- 6749d4e8c71b 13.9 landed
- b53d104ae3b9 14.6 landed
- 64387c540805 15.0 landed
- 9320cfdd06e5 16.0 landed