From 463882d0856b20579c04bea3cb5f529585fac98c Mon Sep 17 00:00:00 2001 From: Davo Smith Date: Fri, 27 Jun 2014 09:38:38 +0100 Subject: [PATCH] MDL-46161 switch the field order of the index on mdl_files_reference to improve performance of file_storage::search_references --- lib/db/install.xml | 4 ++-- lib/db/upgrade.php | 18 ++++++++++++++++++ version.php | 4 ++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/lib/db/install.xml b/lib/db/install.xml index 518e8518e14..7fcd96e4fa8 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -1,5 +1,5 @@ - @@ -2358,7 +2358,7 @@ - + diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index bb9095354ca..bec9d441480 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -3676,5 +3676,23 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2014061000.00); } + // Switch the order of the fields in the files_reference index, to improve the performance of search_references. + if ($oldversion < 2014062700.00) { + $table = new xmldb_table('files_reference'); + $index = new xmldb_index('uq_external_file', XMLDB_INDEX_UNIQUE, array('repositoryid', 'referencehash')); + if ($dbman->index_exists($table, $index)) { + $dbman->drop_index($table, $index); + } + upgrade_main_savepoint(true, 2014062700.00); + } + if ($oldversion < 2014062700.01) { + $table = new xmldb_table('files_reference'); + $index = new xmldb_index('uq_external_file', XMLDB_INDEX_UNIQUE, array('referencehash', 'repositoryid')); + if (!$dbman->index_exists($table, $index)) { + $dbman->add_index($table, $index); + } + upgrade_main_savepoint(true, 2014062700.01); + } + return true; } diff --git a/version.php b/version.php index ecd7fde62b6..7ec0bb34071 100644 --- a/version.php +++ b/version.php @@ -29,11 +29,11 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2014062600.00; // YYYYMMDD = weekly release date of this DEV branch. +$version = 2014062700.01; // YYYYMMDD = weekly release date of this DEV branch. // RR = release increments - 00 in DEV branches. // .XX = incremental changes. -$release = '2.8dev (Build: 20140626)'; // Human-friendly version name +$release = '2.8dev (Build: 20140627)'; // Human-friendly version name $branch = '28'; // This version's branch. $maturity = MATURITY_ALPHA; // This version's maturity level.