On Fri, Apr 26, 2013 at 07:49:47PM +0000, Tom Lane wrote: > Fix collation assignment for aggregates with ORDER BY. > > ORDER BY expressions were being treated the same as regular aggregate > arguments for purposes of collation determination, but really they should > not affect the aggregate's collation at all; only collations of the > aggregate's regular arguments should affect it. > > In many cases this mistake would lead to incorrectly throwing a "collation > conflict" error; but in some cases the corrected code will silently assign > a different collation to the aggregate than before, for example > agg(foo ORDER BY bar COLLATE "x") > which will now use foo's collation rather than "x" for the aggregate. > Given this risk and the lack of field complaints about the issue, it > doesn't seem prudent to back-patch. > > In passing, rearrange code in assign_collations_walker so that we don't > need multiple copies of the standard logic for computing collation of a > node with children. (Previously, CaseExpr duplicated the standard logic, > and we would have needed a third copy for Aggref without this change.) > > Andrew Gierth and David Fetter
This needs back-patching to 9.1, where the bug was introduced. Cheers, David. -- David Fetter <da...@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fet...@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers