From f68c74f17bd0074fff95412623f824001b31ce90 Mon Sep 17 00:00:00 2001 From: Jure Kajzer Date: Tue, 23 Feb 2010 11:24:40 +0000 Subject: [PATCH] Changed all *_mime_minor field lengths to 100; current 32 does not support some OpenDocument mimes * changed tables.sql for mysql and oracle * added patch script for mysql and included it in updaters.inc --- maintenance/archives/patch-mime_minor_length.sql | 9 +++++++++ maintenance/ora/tables.sql | 6 +++--- maintenance/tables.sql | 6 +++--- maintenance/updaters.inc | 11 ++++++++++- 4 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 maintenance/archives/patch-mime_minor_length.sql diff --git a/maintenance/archives/patch-mime_minor_length.sql b/maintenance/archives/patch-mime_minor_length.sql new file mode 100644 index 0000000000..7862c9ffc2 --- /dev/null +++ b/maintenance/archives/patch-mime_minor_length.sql @@ -0,0 +1,9 @@ +ALTER TABLE /*$wgDBprefix*/filearchive + MODIFY COLUMN fa_minor_mime varbinary(100) default "unknown"; + +ALTER TABLE /*$wgDBprefix*/image + MODIFY COLUMN img_minor_mime varbinary(100) NOT NULL default "unknown"; + +ALTER TABLE /*$wgDBprefix*/oldimage + MODIFY COLUMN oi_minor_mime varbinary(100) NOT NULL default "unknown"; + diff --git a/maintenance/ora/tables.sql b/maintenance/ora/tables.sql index 2ff8bc8069..3d228b9f11 100644 --- a/maintenance/ora/tables.sql +++ b/maintenance/ora/tables.sql @@ -253,7 +253,7 @@ CREATE TABLE &mw_prefix.image ( img_bits NUMBER, img_media_type VARCHAR2(32), img_major_mime VARCHAR2(32) DEFAULT 'unknown', - img_minor_mime VARCHAR2(32) DEFAULT 'unknown', + img_minor_mime VARCHAR2(100) DEFAULT 'unknown', img_description VARCHAR2(255), img_user NUMBER NULL REFERENCES &mw_prefix.mwuser(user_id) ON DELETE SET NULL, img_user_text VARCHAR2(255) NOT NULL, @@ -281,7 +281,7 @@ CREATE TABLE &mw_prefix.oldimage ( oi_metadata CLOB, oi_media_type VARCHAR2(32) DEFAULT NULL, oi_major_mime VARCHAR2(32) DEFAULT 'unknown', - oi_minor_mime VARCHAR2(32) DEFAULT 'unknown', + oi_minor_mime VARCHAR2(100) DEFAULT 'unknown', oi_deleted NUMBER DEFAULT 0 NOT NULL, oi_sha1 VARCHAR2(32) ); @@ -308,7 +308,7 @@ CREATE TABLE &mw_prefix.filearchive ( fa_bits NUMBER, fa_media_type VARCHAR2(32) DEFAULT NULL, fa_major_mime VARCHAR2(32) DEFAULT 'unknown', - fa_minor_mime VARCHAR2(32) DEFAULT 'unknown', + fa_minor_mime VARCHAR2(100) DEFAULT 'unknown', fa_description VARCHAR2(255), fa_user NUMBER NULL REFERENCES &mw_prefix.mwuser(user_id) ON DELETE SET NULL, fa_user_text VARCHAR2(255) NOT NULL, diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 66d452007f..0809f4b6cc 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -764,7 +764,7 @@ CREATE TABLE /*_*/image ( -- the minor parts are not required to adher to any standard -- but should be consistent throughout the database -- see http://www.iana.org/assignments/media-types/ - img_minor_mime varbinary(32) NOT NULL default "unknown", + img_minor_mime varbinary(100) NOT NULL default "unknown", -- Description field as entered by the uploader. -- This is displayed in image upload history and logs. @@ -816,7 +816,7 @@ CREATE TABLE /*_*/oldimage ( oi_metadata mediumblob NOT NULL, oi_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL, oi_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart") NOT NULL default "unknown", - oi_minor_mime varbinary(32) NOT NULL default "unknown", + oi_minor_mime varbinary(100) NOT NULL default "unknown", oi_deleted tinyint unsigned NOT NULL default 0, oi_sha1 varbinary(32) NOT NULL default '' ) /*$wgDBTableOptions*/; @@ -866,7 +866,7 @@ CREATE TABLE /*_*/filearchive ( fa_bits int default 0, fa_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL, fa_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart") default "unknown", - fa_minor_mime varbinary(32) default "unknown", + fa_minor_mime varbinary(100) default "unknown", fa_description tinyblob, fa_user int unsigned default 0, fa_user_text varchar(255) binary, diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 32bbc495b5..c8aa539630 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -194,7 +194,7 @@ $wgUpdates = array( array( 'add_index', 'change_tag', 'change_tag_rc_tag', 'patch-change_tag-indexes.sql' ), array( 'add_field', 'redirect', 'rd_interwiki', 'patch-rd_interwiki.sql' ), array( 'do_update_transcache_field' ), - + array( 'do_update_mime_minor_field' ), // version-independent searchindex setup, added in 1.16 array( 'sqlite_setup_searchindex' ), ), @@ -1356,6 +1356,15 @@ function do_update_transcache_field() { } } +function do_update_mime_minor_field() { + global $wgDatabase; + wfOut( "Altering all *_mime_minor fields to 100 bytes in size ... " ); + $wgDatabase->sourceFile( archive( 'patch-mime_minor_length.sql' ) ); + wfOut( "ok\n" ); +} + + + /*********************************************************************** * Start PG stuff * TODO: merge with above -- 2.20.1