Re: Aggregate ORDER BY patch

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: heikki(dot)linnakangas(at)enterprisedb(dot)com (Heikki Linnakangas), pgsql-hackers(at)postgresql(dot)org
Subject: Re: Aggregate ORDER BY patch
Date: 2009-11-13 16:32:41
Message-ID: 87skcipew7.fsf@news-spur.riddles.org.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>>>>> "Heikki" == Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:

>> Herewith a patch to implement agg(foo ORDER BY bar) with or
>> without DISTINCT, etc.

Heikki> What does that mean? Aggregate functions are supposed to be
Heikki> commutative, right?

The SQL spec defines two non-commutative aggregates that we implement:

array_agg(x ORDER BY ...)
xmlagg(x ORDER BY ...)

In addition, of course, we allow user-defined aggregates, which are
perfectly free to be non-commutative.

--
Andrew (irc:RhodiumToad)

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2009-11-13 16:44:13 Re: Aggregate ORDER BY patch
Previous Message Tom Lane 2009-11-13 16:29:06 Re: Check constraint on domain over an array not executed for array literals