public inbox for [email protected]  
help / color / mirror / Atom feed
From: wenhui qiu <[email protected]>
To: Japin Li <[email protected]>
Cc: Richard Guo <[email protected]>
Cc: Pg Hackers <[email protected]>
Subject: Re: Convert NOT IN sublinks to anti-joins when safe
Date: Mon, 9 Mar 2026 15:38:11 +0800
Message-ID: <CAGjGUA+BTnX3oxB9+W4+wHtOTGcDtNGR78GeFnFBXkwhcTbQMw@mail.gmail.com> (raw)
In-Reply-To: <SY7PR01MB10921F205A15712E60C7CA04FB679A@SY7PR01MB10921.ausprd01.prod.outlook.com>
References: <CAMbWs495eF=-fSa5CwJS6B-BaEi3ARp0UNb4Lt3EkgUGZJwkAQ@mail.gmail.com>
	<CAMbWs49tBNbW7S7VCbTasJEfPQKKU7fbJT2TMoi9uHMhT6rwqw@mail.gmail.com>
	<CAMbWs4-YfL4pnSxg87=6YDdhZD-DYtu1Oa9OvyXaR79q4Xk_mQ@mail.gmail.com>
	<CAMbWs4_V2QM=kUR3s3Jq8GVWAaZtouqpqU46GUuUXtCgAzBriA@mail.gmail.com>
	<CAMbWs4_g4+Vc1oKgoTMfo=sEw5h4seMQyC5m1Wx23Kpy21gvHg@mail.gmail.com>
	<SY7PR01MB1092144FE2B738E660860DED4B67DA@SY7PR01MB10921.ausprd01.prod.outlook.com>
	<CAMbWs48YE2V9YhHWHP5seZ8fs2of7xcG1Vace7BQWsSvsQ2EjQ@mail.gmail.com>
	<SY7PR01MB10921F205A15712E60C7CA04FB679A@SY7PR01MB10921.ausprd01.prod.outlook.com>

HI
> I just finished a final self-review and noticed a subtle issue in
> query_outputs_are_not_nullable().  When preparing a target expression
> for the non-nullability check, the previous code flattened join
> aliases Vars before grouping Vars.  However, because the parser
> processes FROM/JOIN clauses before the GROUP BY clause, a grouping Var
> can actually wrap a join alias Var, not the reverse.  So we should
> flatten grouping Vars first.

> Attached is an updated patch that fixes that issue.  I plan to commit
> this in a week or two, barring any objections.

Thanks for updating the patch. v6 path LGTM.

Thanks

On Mon, Mar 9, 2026 at 1:14 PM Japin Li <[email protected]> wrote:

> On Sun, 08 Mar 2026 at 17:16, Richard Guo <[email protected]> wrote:
> > On Thu, Mar 5, 2026 at 10:57 AM Japin Li <[email protected]> wrote:
> >> Just a quick note: I think `foreach_ptr` is more appropriate here than
> `foreach`.
> >
> > Agreed.
> >
> > For homogeneous lists, it is better to use foreach_node so we get the
> > additional type-safety assertions in dev builds.  For heterogeneous
> > lists, we should use foreach_ptr.
> >
> > Attached is an updated version of the patch that replaces foreach with
> > foreach_ptr or foreach_node accordingly.  Nothing else has changed.
> >
> > I plan to do one more round of self-review on this.  Unless there are
> > any further thoughts or concerns, I'm hoping to commit this in a week
> > or two.  Please let me know if anyone spots anything else I might have
> > missed.
> >
>
> Thanks for updating the patch. LGTM.
>
> --
> Regards,
> Japin Li
> ChengDu WenWu Information Technology Co., Ltd.
>
>
>


view thread (14+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Convert NOT IN sublinks to anti-joins when safe
  In-Reply-To: <CAGjGUA+BTnX3oxB9+W4+wHtOTGcDtNGR78GeFnFBXkwhcTbQMw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox