LATIN2 and wrong upper() and lower() functions output - Mailing list pgsql-bugs

From Robert Gaszewski
Subject LATIN2 and wrong upper() and lower() functions output
Date
Msg-id 3AC3A35E.43FB9CB9@poland.com
Whole thread Raw
Responses Re: LATIN2 and wrong upper() and lower() functions output
List pgsql-bugs
I have PostgreSQL 7.1RC1 with multibyte support and encoding
set to LATIN2.

When I try SELECT UPPER('some_text_with_polish_national_chars');
polish chars are still in lower case but others (abcd...wxyz) are
in upper case.


For example:

(Client encoding is LATIN2)

input:
SELECT UPPER('³±ka');  --'³' and '±' are polish national chars

output:

 upper
-------
 ³±KA


but it should be:

 upper
-------
 £¡KA



Also, ORDER BY works improperly.

for example:

input:
CREATE TABLE test ( name varchar(20) );

INSERT INTO test VALUES('ad');
INSERT INTO test VALUES('aa');
INSERT INTO test VALUES('ac');
INSERT INTO test VALUES('ab');
INSERT INTO test VALUES('aæ'); --'æ' is another polish national char
INSERT INTO test VALUES('ae');

SELECT * FROM test ORDER BY name;

output:

 name
------
 aa
 ab
 ac
 ad
 ae
 aæ


but output should be:

 name
------
 aa
 ab
 ac
 aæ
 ad
 ae


PS.
I compiled PostgreSQL with --enable-multibyte and
--enable-unicode-conversion.

initdb -E UNICODE -D /usr/local/pgsql/data
createdb pl_test -E LATIN2



Info about my configuration
---------------------------

PostgreSQL version:
  7.1RC1 compiled by gcc 2.95.2

Platform:
  Debian GNU/Linux 2.2 Potato on Intel Celeron 366 MHz with 128 MB RAM

Kernel
  2.2.19

C library
  2.1



Greetings,
Robert


------------------
Robert Gaszewski
graszew@poland.com

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: unix_socket_directory isn't used by all bin tools
Next
From: Peter Eisentraut
Date:
Subject: Re: pq_shadow