Re: [COMMITTERS] pgsql: Fix collation assignment for aggregates with ORDER BY. - Mailing list pgsql-hackers

From David Fetter
Subject Re: [COMMITTERS] pgsql: Fix collation assignment for aggregates with ORDER BY.
Date
Msg-id 20130426234654.GA27868@fetter.org
Whole thread Raw
Responses Re: Re: [COMMITTERS] pgsql: Fix collation assignment for aggregates with ORDER BY.
List pgsql-hackers
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 <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@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



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Substituting Checksum Algorithm (was: Enabling Checksums)
Next
From: Jeff Davis
Date:
Subject: Re: Substituting Checksum Algorithm (was: Enabling Checksums)