Bug #955 SQL functions works incorrectly with national languages
Submitted: 30 Jul 2003 5:18 Modified: 30 Jul 2003 20:43
Reporter: Oleg Ivanov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:4.1.0-alpha OS:Microsoft Windows (Windows XP)
Assigned to: Alexander Barkov CPU Architecture:Any

[30 Jul 2003 5:18] Oleg Ivanov
Description:
sql text functions convert letter cases incorrectly.
For example can not convert ASCII letter "t" to upper case:
select UPPER('ttt');
retutn "ttt", but correct answer is "TTT".

I use default-character-set = Cp1251.

How to repeat:
my.ini:
[mysqld] 
default-character-set = Cp1251

connect to mysql and issue a statement:
mysql> select upper('att');
+--------------+
| upper('att') |
+--------------+
| Att          |
+--------------+
1 row in set (0.00 sec)

Suggested fix:
-
[30 Jul 2003 15:14] Miguel Solorzano
Thank you for the bug report I was able to repeat with the
latest bk tree:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.1-alpha-max-debug

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select upper('att');
+--------------+
| upper('att') |
+--------------+
| Att          |
+--------------+
1 row in set (0.00 sec)
[30 Jul 2003 20:43] Alexander Barkov
Thank you for your bug report. This issue has been fixed in the latest
development tree for that product. You can find more information about
accessing our development trees at 
    http://www.mysql.com/doc/en/Installing_source_tree.html

There was a mistake in share/charsets/cp1251.xml file.
It must have been my mistake during cp1251.conf -> cp1251.xml
conversion, cp1251.conf file in 4.0 tree is Ok.