>>>>> "Tom" == Tom Lane <t...@sss.pgh.pa.us> writes:

 >> 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.

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

There's also the question of ungrouped vars, maybe. Consider these two
queries:

select array(select a+sum(x) from (values (0.3),(0.7)) v(a) group by a)
  from generate_series(1,5) g(x);

select array(select percentile_disc(a) within group (order by x)
               from (values (0.3),(0.7)) v(a) group by a)
  from generate_series(1,5) g(x);

In both cases the aggregation query is the outer one; but while the first
can return a value, I think the second one has to fail (at least I can't
see any reasonable way of executing it).

-- 
Andrew (irc:RhodiumToad)


-- 
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