>>>>> "Tom" == Tom Lane <tgl@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
thedirect args>> are allowed to contain nested aggregate calls.
Tom> Yeah, I had come to that same conclusion while making theTom> changes; actually, check_agg_arguments needs to look
foraggsTom> 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)