Re: Add semi-join pushdown to postgres_fdw
Alexander Pyhalov <a.pyhalov@postgrespro.ru>
From: Alexander Pyhalov <a.pyhalov@postgrespro.ru>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Robins Tharakan <tharakan@gmail.com>, Tomas Vondra
<tomas.vondra@enterprisedb.com>, "Fujii.Yuki@df.MitsubishiElectric.co.jp"
<Fujii.Yuki@df.mitsubishielectric.co.jp>, Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com>, Pgsql Hackers
<pgsql-hackers@postgresql.org>, Ian Lawrence Barwick <barwick@gmail.com>,
tndrwang@gmail.com
Date: 2025-03-18T11:13:56Z
Lists: pgsql-hackers
Attachments
Alexander Korotkov писал(а) 2025-03-18 03:27: > Hi, Robins! > > On Tue, Mar 18, 2025 at 2:20 AM Robins Tharakan <tharakan@gmail.com> > wrote: >> On Mon, 4 Dec 2023 at 07:22, Alexander Korotkov <aekorotkov@gmail.com> >> wrote: >> > >> > >> > Now, I think this looks good. I'm going to push this if no objections. >> >> After this commit, I began seeing an unexpected ERROR - see this >> bug-report. >> https://www.postgresql.org/message-id/18852-fb75b88160678f78%40postgresql.org > > Thank you for pointing. > I'll check this in the next couple of days. > Hi. It seems conditions, coming from semi-joins, are handled incorrectly under left and right join. When deparsing left/right joins and there are semi-joins in inner or outer part of the query, the corresponding part is deparsed as subquery. And we can't refer subquery vars from above, so just should not pull up the restrictinfos. The attached patch does exactly this. -- Best regards, Alexander Pyhalov, Postgres Professional