Benoit Ryder <b.ryder@ateme.com> writes: > Would you know a way to avoid this bug? I could probably tweak the query > until the result is looking good, but I would prefer to make sure the > bug won't reappear if the query is used with different data or context.
I'm not seeing a bulletproof way offhand, other than "update to v16". Disabling nestloop plans fixes your Q4 in the back branches, but not Q1 (because there's no opportunity for a hash or merge join in Q1).
Q1 is trivially fixed by specifying "WITH c2 AS MATERIALIZED ( ... )", No? Which is why it isn't broken in 9.4 and any of the other versions where we materialized CTEs by default.