On Sat, Apr 4, 2015 at 4:55 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> planner redesign and not at all back-patchable. For the moment, just hack
> set_join_references so that it will not match any non-Var expressions
> coming from nullable inputs to expressions that came from above the join.
> (This is somewhat overkill, in that a strict expression could still be
> matched, but it doesn't seem worth the effort to check that.)
>
Just curious, checking an expression strictness is convenient in
build_tlist_index() like this:
TargetEntry *tle = (TargetEntry *) lfirst(l);
+ if (contain_nonstrict_functions((Node *)tle))
+ *hasnonstrict = true;
+
And this will almost avoid the overkill at once. Why not do this?
Thanks,
Qingqing