Description:
Stored function names are case sensitive, at least in some use cases:
mysql> use test
Database changed
mysql> CREATE DEFINER=`root`@`localhost` FUNCTION `testFunction`( ) RETURNS INT DETERMINISTIC RETURN 1;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW FUNCTION STATUS LIKE 'testFunction'\G
*************************** 1. row ***************************
Db: test
Name: testFunction
Type: FUNCTION
Definer: root@localhost
Modified: 2010-08-24 09:38:08
Created: 2010-08-24 09:38:08
Security_type: DEFINER
Comment:
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
1 row in set (0.03 sec)
mysql> SHOW FUNCTION STATUS LIKE 'testfunction'\G
Empty set (0.03 sec)
mysql> show global variables like '%case%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | ON |
| lower_case_table_names | 1 |
+------------------------+-------+
2 rows in set (0.00 sec)
The documentation says this should not be the case:
"Column, index, stored routine, and event names are not case sensitive on any platform, nor are column aliases."
http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html
How to repeat:
See above.
Suggested fix:
Make function names not case sensitive.
Description: Stored function names are case sensitive, at least in some use cases: mysql> use test Database changed mysql> CREATE DEFINER=`root`@`localhost` FUNCTION `testFunction`( ) RETURNS INT DETERMINISTIC RETURN 1; Query OK, 0 rows affected (0.00 sec) mysql> SHOW FUNCTION STATUS LIKE 'testFunction'\G *************************** 1. row *************************** Db: test Name: testFunction Type: FUNCTION Definer: root@localhost Modified: 2010-08-24 09:38:08 Created: 2010-08-24 09:38:08 Security_type: DEFINER Comment: character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: latin1_swedish_ci 1 row in set (0.03 sec) mysql> SHOW FUNCTION STATUS LIKE 'testfunction'\G Empty set (0.03 sec) mysql> show global variables like '%case%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_file_system | ON | | lower_case_table_names | 1 | +------------------------+-------+ 2 rows in set (0.00 sec) The documentation says this should not be the case: "Column, index, stored routine, and event names are not case sensitive on any platform, nor are column aliases." http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html How to repeat: See above. Suggested fix: Make function names not case sensitive.