Merged from MOODLE_14_STABLE: Indexes and version bump for assignment
authormjollnir_ <mjollnir_>
Wed, 17 Nov 2004 21:49:48 +0000 (21:49 +0000)
committermjollnir_ <mjollnir_>
Wed, 17 Nov 2004 21:49:48 +0000 (21:49 +0000)
mod/assignment/db/mysql.php
mod/assignment/db/mysql.sql
mod/assignment/db/postgres7.php
mod/assignment/db/postgres7.sql
mod/assignment/version.php

index ba10bd27ddca0b2a7605d23daa4c5ca4e0e38035..acb78d211be52a550f944ccf4aabcab710cb71e3 100644 (file)
@@ -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;
 }
 
index a8d75e08f132fe1152e7414791b673317cf8e45e..0a3cf65bab07788539233a8861b659b0459c3cab 100644 (file)
@@ -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';
 # --------------------------------------------------------
 
index ed7e85ca2d3c004268d9db2aef83dbdf37ededb8..58220f34313265a699b95e9e5ef487ad744660f8 100644 (file)
@@ -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;
 }
 
index 3738bbccb745cd5c61c09030355eeb154e78295a..3902caf4ddb5b3e286afd3c5aca3755b32e20cae 100644 (file)
@@ -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);
+
+
 # --------------------------------------------------------
 
 
index 31647ad7ea87f9f7f0e3e1c687573fa0786aa4b7..41abc368e4bb83907876e7d972863ae883177228 100644 (file)
@@ -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;