On Thu, Feb 16, 2023 at 5:50 PM Richard Guo <guofengli...@gmail.com> wrote:
> It seems we still need to check whether a variable-free qual comes from > somewhere that is below the nullable side of an outer join before we > decide that it can be evaluated at join domain level, just like we did > before. So I wonder if we can add a 'below_outer_join' flag in > JoinTreeItem, fill its value during deconstruct_recurse, and check it in > distribute_qual_to_rels() like > > /* eval at join domain level if not below outer join */ > - relids = bms_copy(jtitem->jdomain->jd_relids); > + relids = jtitem->below_outer_join ? > + bms_copy(qualscope) : bms_copy(jtitem->jdomain->jd_relids); > To be concrete, I mean something like attached. Thanks Richard
v1-0001-Fix-variable-free-clause-distribution.patch
Description: Binary data