Description:
Twice I ran something through UPPER and it didn't return it in uppercase; yet the input was a valid string. See cases in repro
How to repeat:
mysql> update Users set Password=upper(sha1(substring(Password, 9)))where Password like 'P%';
Query OK, 7 rows affected (0.00 sec)
Rows matched: 7 Changed: 7 Warnings: 0
mysql> select Password, Username from Users;
+------------------------------------------+-------------+
| Password | Username |
+------------------------------------------+-------------+
| 54FD1711209FB1C0781092374132C66E79E2241B | xyon |
| f10e2821bbbea527ea02200352313bc059445190 | ellism |
| 3DA541559918A808C2402BBA5012F6C60B27661C | joanjett |
| 3DA541559918A808C2402BBA5012F6C60B27661C | tmctest |
| F1B699CC9AF3EEB98E5DE244CA7802AE38E77BAE | fmcbar |
| F10E2821BBBEA527EA02200352313BC059445190 | nocash |
| DF211CCDD94A63E0BCB9E6AE427A249484A49D60 | stillnocash |
| 3DA541559918A808C2402BBA5012F6C60B27661C | foo |
+------------------------------------------+-------------+
8 rows in set (0.00 sec)
mysql> update Users set Password=upper(sha1('asdf')) where Username='ellism';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select Password, Username from Users;
+------------------------------------------+-------------+
| Password | Username |
+------------------------------------------+-------------+
| 54FD1711209FB1C0781092374132C66E79E2241B | xyon |
| 3da541559918a808c2402bba5012f6c60b27661c | ellism |
| 3DA541559918A808C2402BBA5012F6C60B27661C | joanjett |
| 3DA541559918A808C2402BBA5012F6C60B27661C | tmctest |
| F1B699CC9AF3EEB98E5DE244CA7802AE38E77BAE | fmcbar |
| F10E2821BBBEA527EA02200352313BC059445190 | nocash |
| DF211CCDD94A63E0BCB9E6AE427A249484A49D60 | stillnocash |
| 3DA541559918A808C2402BBA5012F6C60B27661C | foo |
+------------------------------------------+-------------+
8 rows in set (0.00 sec)
mysql> update Users set Password='3DA541559918A808C2402BBA5012F6C60B27661C' where User='ellism';
ERROR 1054 (42S22): Unknown column 'User' in 'where clause'
mysql> update Users set Password='3DA541559918A808C2402BBA5012F6C60B27661C' where Username='ellism';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select Password, Username from Users;
+------------------------------------------+-------------+
| Password | Username |
+------------------------------------------+-------------+
| 54FD1711209FB1C0781092374132C66E79E2241B | xyon |
| 3DA541559918A808C2402BBA5012F6C60B27661C | ellism |
| 3DA541559918A808C2402BBA5012F6C60B27661C | joanjett |
| 3DA541559918A808C2402BBA5012F6C60B27661C | tmctest |
| F1B699CC9AF3EEB98E5DE244CA7802AE38E77BAE | fmcbar |
| F10E2821BBBEA527EA02200352313BC059445190 | nocash |
| DF211CCDD94A63E0BCB9E6AE427A249484A49D60 | stillnocash |
| 3DA541559918A808C2402BBA5012F6C60B27661C | foo |
+------------------------------------------+-------------+