not sure you see one suggestion i did. just in case you think it may be interesting, i modified for you 0001.
it just add (and reindent) ' if(forced_null_vars != NIL) ' around the optimisation while most of left join have probably no forced nulls, and thus it avoids to compute find_nonnullable_vars and have_var_is_notnull for them.
Nicolas
Yeah, I forgot to add your suggestion. Please check the v4 patch.
I combined the code and tests into one patch and also added it to [1] commitfest.