Andres Freund <andres(at)anarazel(dot)de> writes:
> What happens if you change the
> left join event.origin on event.id = origin.eventid
> into
> join event.origin on event.id = origin.eventid
> ?
> The EXISTS() requires that origin is not null anyway. (Not sure why the
> planner doesn't recognize that though).
Sloppy thinking in reduce_outer_joins() is why. Fixed now:
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1df57f63f3f60c684aa8918910ac410e9c780713
regards, tom lane