equal operator fails on two identical strings if initdb uses the traditional chinese locale - Mailing list pgsql-bugs

From Kent Tong
Subject equal operator fails on two identical strings if initdb uses the traditional chinese locale
Date
Msg-id 41A4456A.4020109@cpttm.org.mo
Whole thread Raw
Responses Re: equal operator fails on two identical strings if initdb uses the traditional chinese locale
List pgsql-bugs
Hi,

I'm running PostgreSQL v8 beta4 on Win2K. The default language
selected in Win2K is Big5.

I am using the Windows installer to install it. Everything is
left as default except that the locale for initdb is set to
"traditional-chinese".

Here is a test (run in pgadmin III):
1. createdb db1 -E Unicode
2. psql db1
3. create table t1 ( s varchar(20) primary key );
4. insert into t1 values('xyz'); Note that x, y and z are all
    Chinese characters.
5. select * from t1; It shows that record just fine.
6. select * from t1 where s='xyz'; It fails to find that record.
7. select * from t1 where s like 'xy%'; It finds that record.

If I reinstall pgsql but leave the locale as the default ("C"),
then the above test passes.

BTW, the locale for traditional chinese in postgresql.conf is
set to "traditional-chinese" literally. Shouldn't it be
zh_TW?

Thanks!

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: 8.0.0beta5 fails "make check" on Solaris9/i386
Next
From: Peter Eisentraut
Date:
Subject: Re: equal operator fails on two identical strings if initdb uses the traditional chinese locale