Bennie Swart <benniesw...@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


Reply via email to