I wrote:
> ... so I guess the answer is that this code ought to avoid adding Vars that
> are only mentioned within aggregates.
The cleanest way to fix this would involve adding another flag parameter
to flatten_tlist and pull_var_clause. This is no problem to do in HEAD
or even 9.1, but I'm a bit worried about breaking third-party code if we
backpatch further than that. So far as I can see, the failure only
occurs if we have a plain (non-grouping) Agg node, which implies that
the user is trying to use windowing functions on a result set that's
guaranteed to contain exactly one aggregated row. That seems pretty
useless, so I'm thinking it's not worth back-patching a fix for.
Comments?
regards, tom lane