Andrew Gierth <and...@tao11.riddles.org.uk> writes:
> "Tom" == Tom Lane <t...@sss.pgh.pa.us> writes:
>  Tom> After examining this more closely, ISTM that the direct
>  Tom> arguments are supposed to be processed as if they weren't inside
>  Tom> an aggregate call at all.  That being the case, isn't it flat
>  Tom> out wrong for check_agg_arguments() to be examining the
>  Tom> agg_ordset list?  It should ignore those expressions whilst
>  Tom> determining the aggregate's semantic level.  As an example, an
>  Tom> upper-level Var in those expressions isn't grounds for deciding
>  Tom> that the aggregate isn't of the current query level.

> Hmm... yes, you're probably right; but we'd still have to check somewhere
> for improper nesting, no? since not even the direct args are allowed to
> contain nested aggregate calls.

Yeah, I had come to that same conclusion while making the changes;
actually, check_agg_arguments needs to look for aggs but not vars there.

In principle we could probably support aggs there if we really wanted to;
but it would result in evaluation-order dependencies among the aggs of a
single query level, which doesn't seem like something we want to take on
for a feature that's not required by spec.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to