On Fri, 21 May 2021 at 11:05, David Rowley <dgrowleyml@gmail.com> wrote: > I'll need to take a bit more time to check if that's a safe way to > check if the entire join clause is parameterized or not.
I think it's fine to check the list_length() to see if any quals are missing from the param info. This is very similar to what's done already in generate_mergejoin_paths() to check if any join quals are missing from the merge quals.
I've attached a cleaned-up patch.
I can confirm that this fixes the issue in our case (both in the actual query and in the minimal reproduction case).