Hi Richard
> Assert(!is_outer_join || joinrelids != NULL);

> Worth asserting.  If a caller sets sjinfo but passes NULL for
> joinrelids, this would silently over-delete PHVs.
> Assert(!is_self_join || joinrelids == NULL);

LGTM with the added assertion. Thanks again for all the heavy lifting
you're doing on the Postgres optimizer

> I prefer to not add this one.  It's not defending any invariant.
Thank you for your explanation ,


Thanks

On Sat, Apr 18, 2026 at 6:17 PM Richard Guo <[email protected]> wrote:

> On Tue, Apr 7, 2026 at 6:57 PM wenhui qiu <[email protected]> wrote:
> > Assert(!is_outer_join || joinrelids != NULL);
>
> Worth asserting.  If a caller sets sjinfo but passes NULL for
> joinrelids, this would silently over-delete PHVs.
>
> > Assert(!is_self_join || joinrelids == NULL);
>
> I prefer to not add this one.  It's not defending any invariant.
>
> - Richard
>

Reply via email to