From ce64ebf9b7cbeab6ddeb221e99840d19acf80d7f Mon Sep 17 00:00:00 2001 From: mjollnir_ Date: Wed, 17 Nov 2004 21:49:48 +0000 Subject: [PATCH] Merged from MOODLE_14_STABLE: Indexes and version bump for assignment --- mod/assignment/db/mysql.php | 14 ++++++++++++++ mod/assignment/db/mysql.sql | 9 +++++++-- mod/assignment/db/postgres7.php | 14 ++++++++++++++ mod/assignment/db/postgres7.sql | 10 ++++++++++ mod/assignment/version.php | 2 +- 5 files changed, 46 insertions(+), 3 deletions(-) diff --git a/mod/assignment/db/mysql.php b/mod/assignment/db/mysql.php index ba10bd27dd..acb78d211b 100644 --- a/mod/assignment/db/mysql.php +++ b/mod/assignment/db/mysql.php @@ -99,6 +99,20 @@ function assignment_upgrade($oldversion) { assignment_refresh_events(); } + if ($oldversion < 2004111200) { + execute_sql('ALTER TABLE prefix_assignment DROP INDEX course;',false); + execute_sql('ALTER TABLE prefix_assignment_submissions DROP INDEX assignment;',false); + execute_sql('ALTER TABLE prefix_assignment_submissions DROP INDEX userid;',false); + execute_sql('ALTER TABLE prefix_assignment_submissions DROP INDEX mailed;',false); + execute_sql('ALTER TABLE prefix_assignment_submissions DROP INDEX timemarked;',false); + + modify_database('','ALTER TABLE prefix_assignment ADD INDEX course (course);'); + modify_database('','ALTER TABLE prefix_assignment_submissions ADD INDEX assignment(assignment);'); + modify_database('','ALTER TABLE prefix_assignment_submissions ADD INDEX userid (userid);'); + modify_database('','ALTER TABLE prefix_assignment_submissions ADD INDEX mailed (mailed);'); + modify_database('','ALTER TABLE prefix_assignment_submissions ADD INDEX timemarked (timemarked);'); + } + return true; } diff --git a/mod/assignment/db/mysql.sql b/mod/assignment/db/mysql.sql index a8d75e08f1..0a3cf65bab 100644 --- a/mod/assignment/db/mysql.sql +++ b/mod/assignment/db/mysql.sql @@ -14,7 +14,8 @@ CREATE TABLE `prefix_assignment` ( `timedue` int(10) unsigned NOT NULL default '0', `grade` int(10) NOT NULL default '0', `timemodified` int(10) unsigned NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `course` (`course`) ) COMMENT='Defines assignments'; # -------------------------------------------------------- @@ -34,7 +35,11 @@ CREATE TABLE `prefix_assignment_submissions` ( `teacher` int(10) unsigned NOT NULL default '0', `timemarked` int(10) unsigned NOT NULL default '0', `mailed` tinyint(1) unsigned NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `assignment` (`assignment`), + KEY `userid` (`userid`), + KEY `mailed` (`mailed`), + KEY `timemarked` (`timemarked`) ) COMMENT='Info about submitted assignments'; # -------------------------------------------------------- diff --git a/mod/assignment/db/postgres7.php b/mod/assignment/db/postgres7.php index ed7e85ca2d..58220f3431 100644 --- a/mod/assignment/db/postgres7.php +++ b/mod/assignment/db/postgres7.php @@ -97,6 +97,20 @@ function assignment_upgrade($oldversion) { assignment_refresh_events(); } + if ($oldversion < 2004111200) { + execute_sql('DROP INDEX prefix_assignment_course_idx;',false); + execute_sql('DROP INDEX prefix_assignment_submissions_assignment_idx;',false); + execute_sql('DROP INDEX prefix_assignment_submissions_userid_idx;',false); + execute_sql('DROP INDEX prefix_assignment_submissions_mailed_idx;',false); + execute_sql('DROP INDEX prefix_assignment_submissions_timemarked_idx;',false); + + modify_database('','CREATE INDEX prefix_assignment_course_idx ON prefix_assignment (course);'); + modify_database('','CREATE INDEX prefix_assignment_submissions_assignment_idx ON prefix_assignment_submissions (assignment);'); + modify_database('','CREATE INDEX prefix_assignment_submissions_userid_idx ON prefix_assignment_submissions (userid);'); + modify_database('','CREATE INDEX prefix_assignment_submissions_mailed_idx ON prefix_assignment_submissions (mailed);'); + modify_database('','CREATE INDEX prefix_assignment_submissions_timemarked_idx ON prefix_assignment_submissions (timemarked);'); + } + return true; } diff --git a/mod/assignment/db/postgres7.sql b/mod/assignment/db/postgres7.sql index 3738bbccb7..3902caf4dd 100644 --- a/mod/assignment/db/postgres7.sql +++ b/mod/assignment/db/postgres7.sql @@ -15,6 +15,9 @@ CREATE TABLE prefix_assignment ( grade integer NOT NULL default '0', timemodified integer NOT NULL default '0' ); + +CREATE INDEX prefix_assignment_course_idx ON prefix_assignment (course); + # -------------------------------------------------------- # @@ -34,6 +37,13 @@ CREATE TABLE prefix_assignment_submissions ( timemarked integer NOT NULL default '0', mailed integer NOT NULL default '0' ); + +CREATE INDEX prefix_assignment_submissions_assignment_idx ON prefix_assignment_submissions (assignment); +CREATE INDEX prefix_assignment_submissions_userid_idx ON prefix_assignment_submissions (userid); +CREATE INDEX prefix_assignment_submissions_mailed_idx ON prefix_assignment_submissions (mailed); +CREATE INDEX prefix_assignment_submissions_timemarked_idx ON prefix_assignment_submissions (timemarked); + + # -------------------------------------------------------- diff --git a/mod/assignment/version.php b/mod/assignment/version.php index 31647ad7ea..41abc368e4 100644 --- a/mod/assignment/version.php +++ b/mod/assignment/version.php @@ -5,7 +5,7 @@ // This fragment is called by /admin/index.php //////////////////////////////////////////////////////////////////////////////// -$module->version = 2004091700; +$module->version = 2004111200; $module->requires = 2004091700; // Requires this Moodle version $module->cron = 60; -- 2.39.5