Bug #25832 Inconsistent identifier handling
Submitted: 24 Jan 2007 15:59 Modified: 26 Jan 2007 12:02
Reporter: Mike Lischke Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:5.0.27 OS:Any (any)
Assigned to: CPU Architecture:Any

[24 Jan 2007 15:59] Mike Lischke
Description:
The docs state that identifiers (e.g. for tables, schematas, SPs etc.) can be up to 64 characters. However this appears not to be true. It is actually 64 bytes for tables. However, stored procedure names can indeed be 64 characters long. As soon as multi-byte characters are involved the difference becomes visible. You cannot create a table having a name consisting of 64 'Ä' chars, but you can create a stored procedure with that name.

A second problem connected with that is that one cannot get the CREATE statement for such an SP. An error is return that the identifier would be too long. The SP appears in mysql.proc, though.

How to repeat:
1) Try to create a simple table with more than 32 multi-byte characters. It will fail.
2) Try the same for a stored procedure. It will succeed.
3) Issue a command like

show create procedure `s1`.`ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ`;

It will return the error:

Identifier name 'ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ' is too long (Error 1059)

Suggested fix:
No idea
[26 Jan 2007 12:02] Sveta Smirnova
Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments to the original bug instead.

Thank you for your interest in MySQL.

Duplicates Bug #21432