Обсуждение: taking a stab at agg(foo ORDER BY bar)

Поиск
Список
Период
Сортировка

taking a stab at agg(foo ORDER BY bar)

От
Andrew Gierth
Дата:
The spec defines array_agg(foo ORDER BY ...) which we don't implement
yet; obviously, we have no reason not to define this for any
aggregate, rather than just array_agg.

This doesn't seem to present any problems as far as the syntax goes,
and the actual execution is just a small matter of coding, but I'm not
seeing the best way to handle it in parse-analysis. All the existing
infrastructure for ORDER BY seems to be dependent on targetlists, which
obviously we don't have in the context of an aggregate call.

Ideas?

-- 
Andrew (irc:RhodiumToad)


Re: taking a stab at agg(foo ORDER BY bar)

От
Tom Lane
Дата:
Andrew Gierth <andrew@tao11.riddles.org.uk> writes:
> This doesn't seem to present any problems as far as the syntax goes,
> and the actual execution is just a small matter of coding, but I'm not
> seeing the best way to handle it in parse-analysis. All the existing
> infrastructure for ORDER BY seems to be dependent on targetlists, which
> obviously we don't have in the context of an aggregate call.

Well, if you don't want to refactor that code, it wouldn't be difficult
to make a one-entry tlist containing the aggregate argument, and then
throw it away again after you'd extracted what you need.
        regards, tom lane