| From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
|---|---|
| To: | Mahendra Singh Thalor <mahi6run(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: pg_plan_advice: FOREIGN_JOIN advice generated for a single-relation foreign scan is not round-trip safe |
| Date: | 2026-06-30 14:52:07 |
| Message-ID: | CA+TgmoYEHQah6TAKNa6q3NsrToxOJm2oLMnz8UT9NLZQo-0BzA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Jun 30, 2026 at 10:36 AM Mahendra Singh Thalor
<mahi6run(at)gmail(dot)com> wrote:
> While testing pg_plan_advice together with postgres_fdw, I noticed that the
> advice generated for a single-relation foreign scan is not round-trip safe,
> which contradicts the "round-trip safe" guarantee documented in
> contrib/pg_plan_advice/README.
>
> When postgres_fdw pushes an aggregate down over a single foreign table, the
> resulting ForeignScan has scanrelid == 0 but fs_relids names exactly one
> relation. pg_plan_advice generates FOREIGN_JOIN(<rel>) advice for it. However,
> the advice parser requires a FOREIGN_JOIN target to name more than one
> relation, so feeding the generated advice back in fails to parse.
Thanks for the report. I think this patch looks correct, but the
comments are a bit overly verbose. Barring objections or other
comments, I'll tighten this up, commit and back-patch.
--
Robert Haas
EDB: http://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Yugo Nagata | 2026-06-30 15:04:01 | Re: Incremental View Maintenance, take 2 (design considerations) |
| Previous Message | Mahendra Singh Thalor | 2026-06-30 14:36:40 | pg_plan_advice: FOREIGN_JOIN advice generated for a single-relation foreign scan is not round-trip safe |