Hi Emil! Hi everyone!
Emil, are you sure you were connected to right database when running
your tests?
I have been having major problems with this bug in version pg 8.1.*, but
I think it has been fixed in 8.2.
See the results of my tests:
test=# select version();
version
-----------------------------------------------------------------------------------------------------------------
PostgreSQL 8.2.4 on x86_64-pc-linux-gnu, compiled by GCC cc (GCC) 4.1.2
20061115 (prerelease) (Debian 4.1.1-21)
event=# show client_encoding;
client_encoding
-----------------
UTF8
test=# select upper ('ÖöÜüÄäßĆČćč€ĞğīŃńŇňŐőŘřŠšşŽžŻżÓóŁłĆć');
upper
---------------------------------------
ÖÖÜÜÄÄßĆČĆČ€ĞĞĪŃŃŇŇŐŐŘŘŠŠŞŽŽŻŻÓÓŁŁĆĆ
test=# select lower('ÖöÜüÄäßĆČćč€ĞğīŃńŇňŐőŘřŠšşŽžŻżÓóŁłĆć');
lower
---------------------------------------
ööüüääßćčćč€ğğīńńňňőőřřššşžžżżóółłćć
test=# select 'ööüüääßćčćč€ğğńńňňőőřřššşžžżżóółłćć' ilike
'ÖÖÜÜÄÄßĆČĆČ€ĞĞŃŃŇŇŐŐŘŘŠŠŞŽŽŻŻÓÓŁŁĆĆ';
?column?
----------
t
None of the above works properly in pg 8.1.
HOWEVER there IS a problematic case with characters like 'ı' - notice
the missing dot, it is not 'i'.
Upper case representation of 'ı' is 'I', but lower case representation
of 'I' is 'i' - at least according to lower() and upper().
test=# select upper('ı');
upper
-------
I
test=# select lower ('I');
lower
-------
i
test=# select 'ı' ilike 'I';
?column?
----------
f
test=# select 'I' ilike 'ı';
?column?
----------
f
Everything is converted to lower() before comparing, so 'ı' and 'I' will
never match.
But shouldn't they?
Is this the right place for these comments?
Regards
Erwin Brandstetter
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]