From: | Bruno Wolff III <bruno(at)wolff(dot)to> |
---|---|
To: | Greg Stark <gsstark(at)mit(dot)edu> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Warts with SELECT DISTINCT |
Date: | 2006-05-04 04:50:42 |
Message-ID: | 20060504045042.GA14214@wolff.to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, May 04, 2006 at 00:05:16 -0400,
Greg Stark <gsstark(at)mit(dot)edu> wrote:
> Bruno Wolff III <bruno(at)wolff(dot)to> writes:
>
> > > Whereas it shouldn't be hard to prove that this is equivalent:
> > >
> > > stark=> explain select col1 from test group by upper(col1),col1 order by upper(col1);
> > > QUERY PLAN
> > > ---------------------------------------------------------------------
> > > Group (cost=88.50..98.23 rows=200 width=32)
> > > -> Sort (cost=88.50..91.58 rows=1230 width=32)
> > > Sort Key: upper(col1), col1
> > > -> Seq Scan on test (cost=0.00..25.38 rows=1230 width=32)
> > > (4 rows)
> >
> > I don't think you can assume that that will be true for any locale. If there
> > are two different characters that both have the same uppercase version, this
> > will break things.
>
> No it won't.
Sure it will, because when you do the group by you will get a different
number of groups. When grouping by the original characters you will get
separate groups for characters that have the same uppercase character, where
as when grouing by the uppercased characters you won't.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-05-04 05:13:20 | Re: Warts with SELECT DISTINCT |
Previous Message | Greg Stark | 2006-05-04 04:05:16 | Re: Warts with SELECT DISTINCT |