From: skodak Date: Sun, 24 Sep 2006 19:04:32 +0000 (+0000) Subject: fixes for recent incorrect index updates X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=1cc309df9df7f2c1ae8915b9c27a126ce4a5748c;p=moodle.git fixes for recent incorrect index updates --- diff --git a/lib/db/mysql.php b/lib/db/mysql.php index 6ed0edb535..7afad72f44 100644 --- a/lib/db/mysql.php +++ b/lib/db/mysql.php @@ -2286,9 +2286,9 @@ function main_upgrade($oldversion=0) { } if ($oldversion < 2006092200) { - execute_sql("ALTER TABLE `{$CFG->prefix}context` DROP INDEX `aggregatelevel-instanceid`;",false); +/* execute_sql("ALTER TABLE `{$CFG->prefix}context` DROP INDEX `aggregatelevel-instanceid`;",false); table_column('context', 'aggregatelevel', 'contextlevel', 'int', '10', 'unsigned', '0', 'not null', ''); - execute_sql("ALTER TABLE `{$CFG->prefix}context` ADD UNIQUE INDEX `contextlevel-instanceid` (`contextlevel`, `instanceid`)",false); + execute_sql("ALTER TABLE `{$CFG->prefix}context` ADD UNIQUE INDEX `contextlevel-instanceid` (`contextlevel`, `instanceid`)",false);*/ } if ($oldversion < 2006092201) { @@ -2310,14 +2310,25 @@ function main_upgrade($oldversion=0) { $i++; } } - execute_sql("ALTER TABLE {$CFG->prefix}role DROP INDEX {$CFG->prefix}role_sor_ix;", false); - execute_sql("ALTER TABLE {$CFG->prefix}role ADD UNIQUE INDEX {$CFG->prefix}role_sor_uix (sortorder)", false); +/* execute_sql("ALTER TABLE {$CFG->prefix}role DROP INDEX {$CFG->prefix}role_sor_ix;", false); + execute_sql("ALTER TABLE {$CFG->prefix}role ADD UNIQUE INDEX {$CFG->prefix}role_sor_uix (sortorder)", false);*/ } if ($oldversion < 2006092400) { table_column('user', '', 'trustbitmask', 'INTEGER', '10', 'unsigned', '0', 'not null', ''); } + if ($oldversion < 2006092409) { + // ok, once more and now correctly! + execute_sql("DROP INDEX `aggregatelevel-instanceid` ON {$CFG->prefix}context ;", false); + execute_sql("DROP INDEX `contextlevel-instanceid` ON {$CFG->prefix}context ;", false); + execute_sql("CREATE UNIQUE INDEX {$CFG->prefix}cont_conins_uix ON {$CFG->prefix}context (contextlevel, instanceid);", false); + + execute_sql("DROP INDEX {$CFG->prefix}role_sor_ix ON {$CFG->prefix}role ;", false); + execute_sql("DROP INDEX {$CFG->prefix}role_sor_uix ON {$CFG->prefix}role ;", false); + execute_sql("CREATE UNIQUE INDEX {$CFG->prefix}role_sor_uix ON {$CFG->prefix}role (sortorder);", false); + } + return $result; } diff --git a/lib/db/postgres7.php b/lib/db/postgres7.php index b5f6222deb..2fe94a979c 100644 --- a/lib/db/postgres7.php +++ b/lib/db/postgres7.php @@ -1885,9 +1885,9 @@ function main_upgrade($oldversion=0) { } if ($oldversion < 2006092200) { - execute_sql("ALTER TABLE `{$CFG->prefix}context` DROP INDEX `aggregatelevel-instanceid`;",false); +/* execute_sql("ALTER TABLE `{$CFG->prefix}context` DROP INDEX `aggregatelevel-instanceid`;",false); table_column('context', 'aggregatelevel', 'contextlevel', 'int', '10', 'unsigned', '0', 'not null', ''); - execute_sql("ALTER TABLE `{$CFG->prefix}context` ADD UNIQUE INDEX `contextlevel-instanceid` (`contextlevel`, `instanceid`)",false); + execute_sql("ALTER TABLE `{$CFG->prefix}context` ADD UNIQUE INDEX `contextlevel-instanceid` (`contextlevel`, `instanceid`)",false);*/ } if ($oldversion < 2006092302) { @@ -1904,14 +1904,25 @@ function main_upgrade($oldversion=0) { $i++; } } - execute_sql("ALTER TABLE {$CFG->prefix}role DROP INDEX {$CFG->prefix}role_sor_ix;"); - execute_sql("ALTER TABLE {$CFG->prefix}role ADD UNIQUE INDEX {$CFG->prefix}role_sor_uix (sortorder)"); +/* execute_sql("ALTER TABLE {$CFG->prefix}role DROP INDEX {$CFG->prefix}role_sor_ix;"); + execute_sql("ALTER TABLE {$CFG->prefix}role ADD UNIQUE INDEX {$CFG->prefix}role_sor_uix (sortorder)");*/ } if ($oldversion < 2006092400) { table_column('user', '', 'trustbitmask', 'INTEGER', '10', 'unsigned', '0', 'not null', ''); } + if ($oldversion < 2006092409) { + // ok, once more and now correctly! + execute_sql("DROP INDEX \"aggregatelevel-instanceid\";", false); + execute_sql("DROP INDEX \"contextlevel-instanceid\";", false); + execute_sql("CREATE UNIQUE INDEX {$CFG->prefix}cont_conins_uix ON {$CFG->prefix}context (contextlevel, instanceid);", false); + + execute_sql("DROP INDEX {$CFG->prefix}role_sor_ix;", false); + execute_sql("DROP INDEX {$CFG->prefix}role_sor_uix;", false); + execute_sql("CREATE UNIQUE INDEX {$CFG->prefix}role_sor_uix ON {$CFG->prefix}role (sortorder);", false); + } + return $result; } diff --git a/version.php b/version.php index 1ce61e0db1..7b55067aee 100644 --- a/version.php +++ b/version.php @@ -6,7 +6,7 @@ // This is compared against the values stored in the database to determine // whether upgrades should be performed (see lib/db/*.php) - $version = 2006092404; // YYYYMMDD = date + $version = 2006092409; // YYYYMMDD = date // XY = increments within a single day $release = '1.7 dev'; // Human-friendly version name