> I considered that. It would give the same answer, but I think > carrying the raw quals is the better deal: pass2 runs > find_nonnullable_vars only when it actually has forced-null vars in > hand, so the common case of outer joins without any IS NULL quals pays > nothing, whereas deriving the set in pass1 would walk every collected > qual for every query containing an outer join. Thank you for your explanation,
> 0001 and 0002 are as before.
0003,0004 LGTM, I will invite other Hackers to take a look.