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]
Shane Bester
create table statement
Attachment: bug29618_create_Table.sql (application/octet-stream, text), 38.93 KiB.
[24 Feb 2008 9:40]
Shane Bester
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]
Shane Bester
seems this was fixed by the fix to bug #26642
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
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.