Summary: Specified key was too long error in update.php script
                    while altering categorylinks table which has myisam
           Product: MediaWiki
           Version: 1.17-svn
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: Maintenance scripts

I am trying to upgrade 1.15.4 to 1.17 trunk, while running update.php I've got
the following error message:

...doing rev_id from 59003 to 59202
...doing rev_id from 59203 to 59402
...doing rev_id from 59403 to 59602
...doing rev_id from 59603 to 59802
rev_len population complete ... 3701 rows changed (0 missing)
Creating iwlinks table...ok
...iwl_prefix_title_from key already set on iwlinks table.
Adding ul_value field to table updatelog...ok
Adding iw_api field to table interwiki...ok
...iwl_prefix key doesn't exist.
...iwl_prefix_from_title key doesn't exist.
Adding cl_collation field to table categorylinks...A database query syntax
error has occurred.
The last attempted database query was:
"ALTER TABLE `wiki_categorylinks`
 CHANGE COLUMN cl_sortkey cl_sortkey varbinary(255) NOT NULL default '',
 ADD COLUMN cl_sortkey_prefix varchar(255) binary NOT NULL default '',
 ADD COLUMN cl_collation varbinary(32) NOT NULL default '',
 ADD COLUMN cl_type ENUM('page', 'subcat', 'file') NOT NULL default 'page',
 ADD INDEX (cl_collation),
 DROP INDEX cl_sortkey,
 ADD INDEX cl_sortkey (cl_to, cl_type, cl_sortkey, cl_from)
from within function "DatabaseBase::sourceFile(
Database returned error "1071: Specified key was too long; max key length is
1000 bytes (localhost)"

Shouldn't the length of field indexes be restricted in myisam mode (a different
patch file)? The "source" wiki MW 1.15.4 DB has myisam tables.

If that is not a bug, is there any way to fix it not having to patch
maintenance/tables.sql and maintenance/patch-categorylinks-better-collation.sql

Should I patch them temporarily and which key limitations would you suggest?

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

Wikibugs-l mailing list

Reply via email to