Bug #17509 No warning for exceeded key length limits
Submitted: 17 Feb 2006 8:49 Modified: 21 Mar 2018 14:04
Reporter: Kristian Koehntopp Email Updates:
Status: Closed Impact on me:
Category:MySQL Workbench Severity:S4 (Feature request)
Version:1.0.23 OS:Microsoft Windows (Windows)
Assigned to: CPU Architecture:Any
Triage: Triaged: D3 (Medium) / R3 (Medium) / E4 (High)

[17 Feb 2006 8:49] Kristian Koehntopp
Currently, the maximum size of any index or unique  index in MySQL is 1024 bytes for MyISAM, and 767 bytes for InnoDB. MTK   should check the size of any indexes defined in the source, and warn if the source objects contain indexes that MySQL cannot recreate.

Please keep in mind that the actual number of bytes used is dependent on the current charset - in utf8, 3 bytes are being used per character.

How to repeat:
Create an index or unique index or primary key in oracle that exceeds the limits of MySQL. Watch the MTK produce code that cannot be executed by mysqld.

Suggested fix:
Have MTK detect and annotate the situation. Refer customer to KB article on this topic (I have submitted an article with a workaround and schema transformation by mail to Russel and Rusty).
[17 Feb 2006 8:55] Kristian Koehntopp
Wrong versions (use MTK versions, not MySQL versions involved)
[18 Mar 2009 11:19] Susanne Ebrecht
Many thanks for pointing this out. But I would say it is a bug and not a feature request.

Verified as described by using actual version.
[21 Mar 2018 14:04] Christine Cole
Posted by developer:
Fixed as of the upcoming MySQL Workbench 8.0.11 release, and here's the changelog entry:

When out-of-range index, unique index, or primary key values were define
in the source, no warning was provided to indicate that the code produced
could not be executed by the MySQL server.

Thank you for the bug report.