Re: [COMMITTERS] pgsql: Fix collation assignment for aggregates with ORDER BY.

From: David Fetter <david(at)fetter(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Fix collation assignment for aggregates with ORDER BY.
Date: 2013-04-26 23:46:54
Message-ID: 20130426234654.GA27868@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers 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(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2013-04-27 00:52:03 Re: Re: [COMMITTERS] pgsql: Fix collation assignment for aggregates with ORDER BY.
Previous Message Tom Lane 2013-04-26 19:49:47 pgsql: Fix collation assignment for aggregates with ORDER BY.

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2013-04-27 00:44:55 Re: Substituting Checksum Algorithm (was: Enabling Checksums)
Previous Message Andres Freund 2013-04-26 22:20:50 Re: Substituting Checksum Algorithm (was: Enabling Checksums)