Re: BUG #2231: Incorrect Order By - Mailing list pgsql-bugs

From Stephan Szabo
Subject Re: BUG #2231: Incorrect Order By
Date
Msg-id 20060202151059.G34622@megazone.bigpanda.com
Whole thread Raw
In response to Re: BUG #2231: Incorrect Order By  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-bugs
On Thu, 2 Feb 2006, Stephan Szabo wrote:

> On Wed, 1 Feb 2006, Garoso, Fernando wrote:
>
> >
> > The following bug has been logged online:
> >
> > Bug reference:      2231
> > Logged by:          Garoso, Fernando
> > Email address:      fgaroso@ig.com.br
> > PostgreSQL version: 8.x
> > Operating system:   GNU Linux Debian
> > Description:        Incorrect Order By
> > Details:
> >
> > create table tmp ( name char(30) );
> > create index tmp_idx on tmp (name);
> > insert into tmp values ( 'SUEKO' );
> > insert into tmp values ( 'SUE E' );
> > insert into tmp values ( 'SUE T' );
> >
> > select * from tmp order by name;
> >
> >
> > ### Result ###
> >
> > teste=# select * from tmp order by name desc;
> >               name
> > --------------------------------
> >  SUE T
> >  SUEKO
> >  SUE E
> > (3 registros)
>
> What locale are you using?  The above looks correct to my eye for en_US
> locale on most linux systems which use dictionary sorting.

Hit send accidentally. :( Dictionary sorting rules generally skip spaces
in first pass comparisons. If you're expecting byte order sorting, you'll
want "C" locale. We currently use the system locales for sorting, so if
you want something which say uses non-byte order sorting but also doesn't
skip spaces, you'd need such a locale definition for the system.

pgsql-bugs by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: BUG #2231: Incorrect Order By
Next
From: Peter Eisentraut
Date:
Subject: Re: BUG #2225: Backend crash -- BIG table