Fixes for r62870. It still needs a patch for Oracle though
authorMax Semenik <maxsem@users.mediawiki.org>
Tue, 23 Feb 2010 12:24:19 +0000 (12:24 +0000)
committerMax Semenik <maxsem@users.mediawiki.org>
Tue, 23 Feb 2010 12:24:19 +0000 (12:24 +0000)
maintenance/archives/patch-mime_minor_length.sql
maintenance/updaters.inc

index 7862c9f..3a3c5c4 100644 (file)
@@ -1,9 +1,10 @@
-ALTER TABLE /*$wgDBprefix*/filearchive
+ALTER TABLE /*_*/filearchive
   MODIFY COLUMN fa_minor_mime varbinary(100) default "unknown";
 
-ALTER TABLE /*$wgDBprefix*/image
+ALTER TABLE /*_*/image
   MODIFY COLUMN img_minor_mime varbinary(100) NOT NULL default "unknown";
   
-ALTER TABLE /*$wgDBprefix*/oldimage
+ALTER TABLE /*_*/oldimage
   MODIFY COLUMN oi_minor_mime varbinary(100) NOT NULL default "unknown";
   
+INSERT INTO /*_*/updatelog VALUES ('mime_minor_length');
\ No newline at end of file
index c8aa539..775ecdc 100644 (file)
@@ -169,6 +169,7 @@ $wgUpdates = array(
                // A field changed name mid-release cycle, so fix it for anyone using
                // trunk
                array( 'rename_eu_wiki_id' ),
+               array( 'do_update_mime_minor_field' ),
        ),
 
        'sqlite' => array(
@@ -194,7 +195,6 @@ $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' ),
        ),
@@ -1357,10 +1357,14 @@ 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" );
+       if ( update_row_exists( 'mime_minor_length' ) ) {
+               wfOut( "*_mime_minor fields are already long enough.\n" );
+       } else {
+               global $wgDatabase;
+               wfOut( "Altering all *_mime_minor fields to 100 bytes in size ... " );
+               $wgDatabase->sourceFile( archive( 'patch-mime_minor_length.sql' ) );
+               wfOut( "ok\n" );
+       }
 }