Craig Ringer <craig.ringer@2ndquadrant.com> writes:
> We're carefully maintaining this bizarre cognitive dissonance where we
> justify the need for using this as a planner hint at the same time as
> denying that we have a hint. That makes it hard to make progress here.
> I think there's fear that we're setting some kind of precedent by
> admitting what we already have.
I think you're overstating the case. It's clear that there's a
significant subset of CTE functionality where there has to be an
optimization fence. The initial implementation basically took the
easy way out by deeming *all* CTEs to be optimization fences. Maybe
we shouldn't have documented that behavior, but we did. Now we're
arguing about how much of a compatibility break it'd be to change that
planner behavior. I don't see any particular cognitive dissonance here,
just disagreements about the extent to which backwards compatibility is
more important than better query optimization.
regards, tom lane