Re: remove_useless_joins vs. bug #19560

From: Tender Wang <tndrwang(at)gmail(dot)com>
To: Richard Guo <guofenglinux(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Thom Brown <thom(at)linux(dot)com>, Jacob Brazeal <jacob(dot)brazeal(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: remove_useless_joins vs. bug #19560
Date: 2026-09-02 03:42:16
Message-ID: CAHewXNn3HVWz4S9M7GhRNGofBaZsnHZr5JdHgTWExZMZmRjQGQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Richard Guo <guofenglinux(at)gmail(dot)com> 于2026年9月1日周二 10:08写道:
> Agreed. Before 2ebf25e7d, there were quite a few cases where an
> expression was removed logically but still present in the parse tree
> physically, and nothing ever walked the tree afterwards expecting
> consistency. Now the new Asserts are shaking out all these cases, and
> in the end we'll get a much neater parse tree.
>

I tested v2 and reviewed the changes. LGTM.

One minor comment: the header comment for reduce_outer_joins() still says:
...
Attempt to reduce outer joins to plain inner joins.
...

But the function can also reduce a LEFT JOIN to an ANTI JOIN (and perform
other join-type reductions), so perhaps this could be updated to something
more general, for example:
...
Attempt to reduce outer joins to simpler join types.
...

--
Thanks,
Tender Wang

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2026-09-02 04:03:39 Re: Logical replication row filter loses unchanged toasted columns
Previous Message Ewan Young 2026-09-02 03:29:25 Re: Use pg_neg_s*_overflow() for open-coded negation overflow checks