From: | Bennie Swart <bennieswart(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Join removal and attr_needed cleanup |
Date: | 2025-05-20 20:59:12 |
Message-ID: | 68050f74-e384-451e-a489-8c076ba0513c@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Given that some time has passed I'd like to raise this again. Any chance
of this making it back to 16 to fix the regression?
We'll be using 16 for the better part of a year still and we're having
to resort to some annoying workarounds for this.
Regards,
Bennie
On 2024/11/10 18:17, Tom Lane wrote:
> Bennie Swart <bennieswart(at)gmail(dot)com> writes:
>> -- join elimination fails
>> -- expect both b and c to be eliminated, but b remains
>> explain (costs off)
>> select a.*
>> from foo a
>> left join foo b on (b.id1, b.id2) = (a.id1, a.id2)
>> left join foo c on (c.id1, c.id2) = (a.id1, b.id2);
>> -- ^^^^^^^^^^^^^^
>
> This does work in HEAD, presumably as a consequence of a3179ab69:
>
> regression=# explain (costs off)
> select a.*
> from foo a
> left join foo b on (b.id1, b.id2) = (a.id1, a.id2)
> left join foo c on (c.id1, c.id2) = (a.id1, b.id2);
> QUERY PLAN
> -------------------
> Seq Scan on foo a
> (1 row)
>
> I think it's still too soon to consider back-patching that though,
> since it's only been in the tree for six weeks.
>
> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2025-05-20 21:01:11 | Re: Violation of principle that plan trees are read-only |
Previous Message | Scott Mead | 2025-05-20 20:58:28 | Re: Disable parallel query by default |