Hi. I took a quick look at the patch. It needs a rebase, although it applies fine using patch.
A couple minor comments: 1) addl_conds seems a bit hard to understand, I'd use either the full wording (additional_conds) or maybe extra_conds 2) some of the lines got quite long, and need a wrap 3) unknown_subquery_rels name is a bit misleading - AFAIK it's the rels that can't be referenced from upper rels (per what the .h says). So they are known, but hidden. Is there a better name? 4) joinrel_target_ok() needs a better comment, explaining *when* the reltarget is safe for pushdown. The conditions are on the same row, but the project style is to break after '&&'. Also, I'd write if (!IsA(var, Var)) continue; which saves one level of nesting. IMHO that makes it more readable. regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company