merged master
[lhc/web/wiklou.git] / includes / installer / OracleUpdater.php
index dc02afb..645c911 100644 (file)
@@ -55,20 +55,21 @@ class OracleUpdater extends DatabaseUpdater {
 
                        //1.19
                        array( 'addIndex', 'logging',       'i05',      'patch-logging_type_action_index.sql'),
-                       array( 'addTable', 'globaltemplatelinks', 'patch-globaltemplatelinks.sql' ),
-                       array( 'addTable', 'globalnamespaces', 'patch-globalnamespaces.sql' ),
-                       array( 'addTable', 'globalinterwiki', 'patch-globalinterwiki.sql' ),
                        array( 'addField', 'revision', 'rev_sha1', 'patch-rev_sha1_field.sql' ),
                        array( 'addField', 'archive', 'ar_sha1', 'patch-ar_sha1_field.sql' ),
                        array( 'doRemoveNotNullEmptyDefaults2' ),
                        array( 'addIndex', 'page', 'i03', 'patch-page_redirect_namespace_len.sql' ),
-                       array( 'modifyField', 'user', 'ug_group', 'patch-ug_group-length-increase.sql' ),
+                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase.sql' ),
                        array( 'addField', 'uploadstash', 'us_chunk_inx', 'patch-us_chunk_inx_field.sql' ),
                        array( 'addField', 'job', 'job_timestamp', 'patch-job_timestamp_field.sql' ),
                        array( 'addIndex', 'job', 'i02', 'patch-job_timestamp_index.sql' ),
+                       array( 'doPageRestrictionsPKUKFix' ),
+                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase.sql' ),
 
                        //1.20
                        array( 'addTable', 'config', 'patch-config.sql' ),
+                       array( 'addIndex', 'ipblocks', 'i05', 'patch-ipblocks_i05_index.sql' ),
+                       array( 'addIndex', 'revision', 'i05', 'patch-revision_i05_index.sql' ),
 
                        //1.WD
                        array( 'addField',      'revision',     'rev_content_format',           'patch-revision-rev_content_format.sql' ),
@@ -204,6 +205,23 @@ class OracleUpdater extends DatabaseUpdater {
                $this->output( "ok\n" );
        }
 
+       /**
+        * Fixed wrong PK, UK definition
+        */
+       protected function doPageRestrictionsPKUKFix() {
+               $this->output( "Altering PAGE_RESTRICTIONS keys ... " );
+
+               $meta = $this->db->query( 'SELECT column_name FROM all_cons_columns WHERE owner = \''.strtoupper($this->db->getDBname()).'\' AND constraint_name = \'MW_PAGE_RESTRICTIONS_PK\' AND rownum = 1' );
+               $row = $meta->fetchRow();
+               if ( $row['column_name'] == 'PR_ID' ) {
+                       $this->output( "seems to be up to date.\n" );
+                       return;
+               }
+
+               $this->applyPatch( 'patch-page_restrictions_pkuk_fix.sql', false );
+               $this->output( "ok\n" );
+       }
+
        /**
         * rebuilding of the function that duplicates tables for tests
         */