Robert Haas <robertmh...@gmail.com> writes: > On Mon, Jan 8, 2024 at 5:39 PM Tom Lane <t...@sss.pgh.pa.us> wrote: >> I think we're talking at cross-purposes. What I was wondering about >> (at least further down in the thread) was whether we shouldn't be >> checking *both* the "real" and the "parent" relids to make sure they >> don't overlap the parameterization sets. But it's probably overkill.
> But we could also find some way to assert that the parameterization > sets contain only top-most rels. Hmm ... perhaps worth doing. I think bms_is_subset against all_baserels would work. >> However, I still don't like Richard's patch too much as-is, because >> the Asserts are difficult to read/understand and even more difficult >> to compare to the other code path. I think we want to keep the >> nestloop and not-nestloop paths as visually similar as possible, >> so I propose we do it more like the attached (where I also borrowed >> some of your wording for the comments). > I don't understand what this is parallel to; > calc_nestloop_required_outer does no similar dance. No, because the dance is done in its caller. The fact that these two functions don't have more-similar argument lists is a bit of a wart, perhaps. regards, tom lane