| Bug #29618 | ERROR 1112 - Table x uses an extension that doesn't exist in this MySQL Version | ||
|---|---|---|---|
| Submitted: | 7 Jul 2007 19:26 | Modified: | 24 Feb 2008 9:48 |
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Duplicate | Impact on me: | |
| Category: | MySQL Server: DDL | Severity: | S3 (Non-critical) |
| Version: | 5.0.42, 5.1.21 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[7 Jul 2007 19:27]
MySQL Verification Team
create table statement
Attachment: bug29618_create_Table.sql (application/octet-stream, text), 38.93 KiB.
[24 Feb 2008 9:40]
MySQL Verification Team
i cannot repeat this anymore on 5.0.56 or 5.1.23. mysql> select count(*) from `t1`; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql> select version(); +--------------------------+ | version() | +--------------------------+ | 5.0.56-enterprise-gpl-nt | +--------------------------+ 1 row in set (0.00 sec)
[24 Feb 2008 9:46]
MySQL Verification Team
seems this was fixed by the fix to bug #26642

Description: It's possible to create a table with 1024 key segments i.e. 64 indexes, and 16 columns per index. But, MySQL cannot open this table. The error message is this: mysql> select count(*) from `t1`; ERROR 1112 (42000): Table 't1' uses an extension that doesn't exist in this MySQL version Of course, the table was created by this very version, so error should not occur. How to repeat: Will upload CREATE TABLE statement in a file. Suggested fix: The error is coming from this code in mi_open.cc: if (share->base.max_key_length > MI_MAX_KEY_BUFF || keys > MI_MAX_KEY || key_parts >= MI_MAX_KEY * MI_MAX_KEY_SEG) { DBUG_PRINT("error",("Wrong key info: Max_key_length: %d keys: %d key_parts: %d", share->base.max_key_length, keys, key_parts)); my_errno=HA_ERR_UNSUPPORTED; goto err; } Perhaps somebody wrote >= instead of > ? Anyway, MySQL shouldn't create a table it can't open.