Bug #25832 Inconsistent identifier handling
Submitted: 24 Jan 2007 16:59 Modified: 26 Jan 2007 13:02
Reporter: Mike Lischke
Status: Duplicate
Category:Server: General Severity:S3 (Non-critical)
Version:5.0.27 OS:Any (any)
Assigned to: Target Version:

[24 Jan 2007 16: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 13: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