I wrote:
> I think that it's probably sufficient to make remove_rel_from_query run
> through the rel's joininfo list looking for pseudoconstant quals, and
> push those back into the joininfo lists with a reduced join list. I
> wonder though if there's a better way, or if there are related bugs
> this fix won't cover. Any thoughts?
On reflection I decided that outerjoin-delayed quals could probably have
the same problem. I've changed the code so that all quals not clearly
attached to the specific outer join we're removing will be modified to
ensure they're still evaluated at the right time.
regards, tom lane