From 173403cf4f56b15540bc5620f51fa23915f872d3 Mon Sep 17 00:00:00 2001 From: skodak Date: Thu, 9 Aug 2007 11:11:56 +0000 Subject: [PATCH] MDL-10757 adding table indexes needed in grade cron --- lib/db/install.xml | 15 ++++++++-- lib/db/upgrade.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++ version.php | 2 +- 3 files changed, 87 insertions(+), 4 deletions(-) diff --git a/lib/db/install.xml b/lib/db/install.xml index bd7e50362c..e1fa267621 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -1,5 +1,5 @@ - @@ -857,7 +857,6 @@ - @@ -1369,6 +1368,12 @@ + + + + + +
@@ -1397,6 +1402,10 @@ + + + +
@@ -1679,4 +1688,4 @@ - + \ No newline at end of file diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index adf1441f5a..9edd1d77df 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -1125,6 +1125,12 @@ function xmldb_main_upgrade($oldversion=0) { $table->addKeyInfo('scaleid', XMLDB_KEY_FOREIGN, array('scaleid'), 'scale', array('id')); $table->addKeyInfo('outcomeid', XMLDB_KEY_FOREIGN, array('outcomeid'), 'grade_outcomes', array('id')); + /// Adding indexes to table grade_grades + $table->addIndexInfo('locktime', XMLDB_INDEX_NOTUNIQUE, array('locktime')); + $table->addIndexInfo('locked', XMLDB_INDEX_NOTUNIQUE, array('locked')); + $table->addIndexInfo('itemtype', XMLDB_INDEX_NOTUNIQUE, array('itemtype')); + $table->addIndexInfo('needsupdate', XMLDB_INDEX_NOTUNIQUE, array('needsupdate')); + /// Launch create table for grade_items $result = $result && create_table($table); @@ -1158,6 +1164,10 @@ function xmldb_main_upgrade($oldversion=0) { $table->addKeyInfo('rawscaleid', XMLDB_KEY_FOREIGN, array('rawscaleid'), 'scale', array('id')); $table->addKeyInfo('usermodified', XMLDB_KEY_FOREIGN, array('usermodified'), 'user', array('id')); + /// Adding indexes to table grade_grades + $table->addIndexInfo('locktime', XMLDB_INDEX_NOTUNIQUE, array('locktime')); + $table->addIndexInfo('locked', XMLDB_INDEX_NOTUNIQUE, array('locked')); + /// Launch create table for grade_grades $result = $result && create_table($table); @@ -1652,6 +1662,70 @@ function xmldb_main_upgrade($oldversion=0) { $result = $result && add_field($table, $field); } + if ($result && $oldversion < 2007080901) { + /// Define index + $table = new XMLDBTable('grade_grades'); + $index = new XMLDBIndex('locktime'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('locktime')); + + if (!index_exists($table, $index)) { + /// Launch add index + $result = $result && add_index($table, $index); + } + + /// Define index + $table = new XMLDBTable('grade_grades'); + $index = new XMLDBIndex('locked'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('locked')); + + if (!index_exists($table, $index)) { + /// Launch add index + $result = $result && add_index($table, $index); + } + + /// Define index + $table = new XMLDBTable('grade_items'); + $index = new XMLDBIndex('locktime'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('locktime')); + + if (!index_exists($table, $index)) { + /// Launch add index + $result = $result && add_index($table, $index); + } + + /// Define index + $table = new XMLDBTable('grade_items'); + $index = new XMLDBIndex('locked'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('locked')); + + if (!index_exists($table, $index)) { + /// Launch add index + $result = $result && add_index($table, $index); + } + + /// Define index + $table = new XMLDBTable('grade_items'); + $index = new XMLDBIndex('itemtype'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('itemtype')); + + if (!index_exists($table, $index)) { + /// Launch add index + $result = $result && add_index($table, $index); + } + + /// Define index + $table = new XMLDBTable('grade_items'); + $index = new XMLDBIndex('needsupdate'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('needsupdate')); + + if (!index_exists($table, $index)) { + /// Launch add index + $result = $result && add_index($table, $index); + } + + + } + /* /// drop old gradebook tables if ($result && $oldversion < 2007072209) { diff --git a/version.php b/version.php index 8dc1e648f6..bb7b31198b 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 = 2007080900; // YYYYMMDD = date + $version = 2007080901; // YYYYMMDD = date // XY = increments within a single day $release = '1.9 dev'; // Human-friendly version name -- 2.39.5