BUG #1027: incorrect result from 'order by'

Started by PostgreSQL Bugs Listover 22 years ago2 messagesbugs
Jump to latest
#1PostgreSQL Bugs List
pgsql-bugs@postgresql.org

The following bug has been logged online:

Bug reference: 1027
Logged by: William H Copson

Email address: copson@u.arizona.edu

PostgreSQL version: 7.5 Dev

Operating system: Redhat 7.2 (highly modified)

Description: incorrect result from 'order by'

Details:

The following:

drop table tst;
create table tst (
name varchar(25));
insert into tst values ('LEE,ADAM');
insert into tst values ('LEEBERMAN,JOHN');
insert into tst values ('LEE,RALPH');
select name from tst order by name;

Produces the following output:

DROP TABLE
CREATE TABLE
INSERT 3307587 1
INSERT 3307588 1
INSERT 3307589 1
name
----------------
LEE,ADAM
LEEBERMAN,JOHN
LEE,RALPH
(3 rows)

Expected output:
name
----------------
LEE,ADAM
LEE,RALPH
LEEBERMAN,JOHN
(3 rows)

I have tried databases with SQL_ASCII, LATIN1 and LATIN2
encoding with the same result.

From this small example and others involving an employee

table (80K+ records) it appears that the comma is being
parsed out prior to the sort (i.e. 'LEEB' sorts after
'LEEA' and before 'LEER').

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PostgreSQL Bugs List (#1)
Re: BUG #1027: incorrect result from 'order by'

"PostgreSQL Bugs List" <pgsql-bugs@postgresql.org> writes:

Description: incorrect result from 'order by'

You initdb'd in the wrong locale. You are expecting sort order as in
C locale, but that isn't the default locale setting in recent Red Hat
releases --- en_US is probably what you're using, and that result is
correct according to en_US. (If you don't believe me, try it with
"sort".)

I have tried databases with SQL_ASCII, LATIN1 and LATIN2
encoding with the same result.

Database encoding doesn't affect this. You'll need to re-initdb
with the desired locale environment.

regards, tom lane