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 >
