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