Re: Join removal and attr_needed cleanup - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Join removal and attr_needed cleanup
Date
Msg-id 94515.1731255462@sss.pgh.pa.us
Whole thread Raw
In response to Re: Join removal and attr_needed cleanup  (Bennie Swart <bennieswart@gmail.com>)
List pgsql-hackers
Bennie Swart <bennieswart@gmail.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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [BUG] Fix DETACH with FK pointing to a partitioned table fails
Next
From: Pavel Stehule
Date:
Subject: Re: proposal: schema variables