From 9958e237c3804905a944c292bacb23c2553926d4 Mon Sep 17 00:00:00 2001 From: mjollnir_ Date: Sun, 21 Nov 2004 21:39:56 +0000 Subject: [PATCH] Indexes for workshop and version bump (honoring partial freeze) --- mod/workshop/db/mysql.php | 17 +++++++++++++++++ mod/workshop/db/mysql.sql | 27 +++++++++++++++++++++------ mod/workshop/db/postgres7.php | 21 ++++++++++++++++++++- mod/workshop/db/postgres7.sql | 24 ++++++++++++++++++++++++ mod/workshop/version.php | 2 +- 5 files changed, 83 insertions(+), 8 deletions(-) diff --git a/mod/workshop/db/mysql.php b/mod/workshop/db/mysql.php index b1d5bcc50e3df..67da68005e627 100644 --- a/mod/workshop/db/mysql.php +++ b/mod/workshop/db/mysql.php @@ -81,6 +81,23 @@ function workshop_upgrade($oldversion) { workshop_refresh_events(); } + if ($oldversion < 2004060401) { + modify_database('','ALTER TABLE prefix_workshop ADD INDEX course (course);'); + modify_database('','ALTER TABLE prefix_workshop_assessments ADD INDEX userid (userid);'); + modify_database('','ALTER TABLE prefix_workshop_assessments ADD INDEX workshopid (workshopid);'); + modify_database('','ALTER TABLE prefix_workshop_assessments ADD INDEX submissionid (submissionid);'); + modify_database('','ALTER TABLE prefix_workshop_assessments ADD INDEX mailed (mailed);'); + modify_database('','ALTER TABLE prefix_workshop_comments ADD INDEX workshopid (workshopid);'); + modify_database('','ALTER TABLE prefix_workshop_comments ADD INDEX assessmentid (assessmentid);'); + modify_database('','ALTER TABLE prefix_workshop_comments ADD INDEX userid (userid);'); + modify_database('','ALTER TABLE prefix_workshop_comments ADD INDEX mailed (mailed);'); + modify_database('','ALTER TABLE prefix_workshop_elements ADD INDEX workshopid (workshopid);'); + modify_database('','ALTER TABLE prefix_workshop_grades ADD INDEX workshopid (workshopid);'); + modify_database('','ALTER TABLE prefix_workshop_grades ADD INDEX assessmentid (assessmentid);'); + modify_database('','ALTER TABLE prefix_workshop_submissions ADD INDEX workshopid (workshopid);'); + modify_database('','ALTER TABLE prefix_workshop_submissions ADD INDEX userid (userid);'); + modify_database('','ALTER TABLE prefix_workshop_submissions ADD INDEX mailed (mailed);'); + } return true; } diff --git a/mod/workshop/db/mysql.sql b/mod/workshop/db/mysql.sql index 356ff53043c66..a9753bf49d501 100644 --- a/mod/workshop/db/mysql.sql +++ b/mod/workshop/db/mysql.sql @@ -33,7 +33,8 @@ CREATE TABLE `prefix_workshop` ( `teacherloading` tinyint(3) unsigned NOT NULL default '5', `assessmentstodrop` tinyint(3) unsigned NOT NULL default '0', `showleaguetable` tinyint(3) unsigned NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `course` (`course`) ) COMMENT='Defines workshop'; # -------------------------------------------------------- @@ -55,7 +56,10 @@ CREATE TABLE `prefix_workshop_submissions` ( `gradinggrade` int(3) unsigned NOT NULL default '0', `finalgrade` int(3) unsigned NOT NULL default '0', PRIMARY KEY (`id`), - INDEX `title` (`title`) + INDEX `title` (`title`) , + INDEX `workshopid` (`workshopid`), + INDEX `userid` (`userid`), + INDEX `mailed` (`mailed`) ) COMMENT='Info about submitted work from teacher and students'; # -------------------------------------------------------- @@ -78,7 +82,11 @@ CREATE TABLE `prefix_workshop_assessments` ( `donotuse` tinyint(3) unsigned NOT NULL default '0', `generalcomment` text NOT NULL, `teachercomment` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `workshopid` (`workshopid`), + KEY `submissionid` (`submissionid`), + KEY `userid` (`userid`), + KEY `mailed` (`mailed`) ) COMMENT='Info about assessments by teacher and students'; # -------------------------------------------------------- @@ -94,7 +102,8 @@ CREATE TABLE `prefix_workshop_elements` ( `scale` tinyint(3) unsigned NOT NULL default '0', `maxscore` tinyint(3) unsigned NOT NULL default '1', `weight` float NOT NULL default '1.0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `workshopid` (`workshopid`) ) COMMENT='Info about marking scheme of assignment'; # -------------------------------------------------------- @@ -124,7 +133,9 @@ CREATE TABLE `prefix_workshop_grades` ( `elementno` int(10) unsigned NOT NULL default '0', `feedback` text NOT NULL default '', `grade` tinyint(3) NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `workshopid` (`workshopid`), + KEY `assessmentid` (`assessmentid`) ) COMMENT='Info about individual grades given to each element'; # -------------------------------------------------------- @@ -140,7 +151,11 @@ CREATE TABLE `prefix_workshop_comments` ( `timecreated` int(10) unsigned NOT NULL default '0', `mailed` tinyint(2) unsigned NOT NULL default '0', `comments` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `workshopid` (`workshopid`), + KEY `assessmentid` (`assessmentid`), + KEY `userid` (`userid`), + KEY `mailed` (`mailed`) ) COMMENT='Defines comments'; # -------------------------------------------------------- diff --git a/mod/workshop/db/postgres7.php b/mod/workshop/db/postgres7.php index 708aa4cca87be..bc09e06a99abc 100644 --- a/mod/workshop/db/postgres7.php +++ b/mod/workshop/db/postgres7.php @@ -23,12 +23,31 @@ function workshop_upgrade($oldversion) { ) "); } - return true; if ($oldversion < 2004052100) { include_once("$CFG->dirroot/mod/workshop/lib.php"); workshop_refresh_events(); } + if ($oldversion < 2004060401) { + modify_database('','CREATE INDEX prefix_workshop_course_idx ON prefix_workshop (course);'); + modify_database('','CREATE INDEX prefix_workshop_assessments_workshopid_idx ON prefix_workshop_assessments (workshopid);'); + modify_database('','CREATE INDEX prefix_workshop_assessments_submissionid_idx ON prefix_workshop_assessments (submissionid);'); + modify_database('','CREATE INDEX prefix_workshop_assessments_userid_idx ON prefix_workshop_assessments (userid);'); + modify_database('','CREATE INDEX prefix_workshop_assessments_mailed_idx ON prefix_workshop_assessments (mailed);'); + modify_database('','CREATE INDEX prefix_workshop_comments_workshopid_idx ON prefix_workshop_comments (workshopid);'); + modify_database('','CREATE INDEX prefix_workshop_comments_assessmentid_idx ON prefix_workshop_comments (assessmentid);'); + modify_database('','CREATE INDEX prefix_workshop_comments_userid_idx ON prefix_workshop_comments (userid);'); + modify_database('','CREATE INDEX prefix_workshop_comments_mailed_idx ON prefix_workshop_comments (mailed);'); + modify_database('','CREATE INDEX prefix_workshop_elements_workshopid_idx ON prefix_workshop_elements (workshopid);'); + modify_database('','CREATE INDEX prefix_workshop_grades_workshopid_idx ON prefix_workshop_grades (workshopid);'); + modify_database('','CREATE INDEX prefix_workshop_grades_assessmentid_idx ON prefix_workshop_grades (assessmentid);'); + modify_database('','CREATE INDEX prefix_workshop_submissions_workshopid_idx ON prefix_workshop_submissions (workshopid);'); + modify_database('','CREATE INDEX prefix_workshop_submissions_userid_idx ON prefix_workshop_submissions (userid);'); + modify_database('','CREATE INDEX prefix_workshop_submissions_mailed_idx ON prefix_workshop_submissions (mailed);'); + } + + return true; + } diff --git a/mod/workshop/db/postgres7.sql b/mod/workshop/db/postgres7.sql index 975ce1a41e204..13d0c818d3bb1 100644 --- a/mod/workshop/db/postgres7.sql +++ b/mod/workshop/db/postgres7.sql @@ -32,6 +32,9 @@ CREATE TABLE prefix_workshop ( gradingweight INT NOT NULL default '5', timeagreed INT8 NOT NULL default '0' ); + +CREATE INDEX prefix_workshop_course_idx ON prefix_workshop (course); + # -------------------------------------------------------- # @@ -53,6 +56,10 @@ CREATE TABLE prefix_workshop_submissions ( finalgrade INT NOT NULL default '0' ); CREATE INDEX prefix_workshop_submissions_title_idx on prefix_workshop_submissions (title); +CREATE INDEX prefix_workshop_submissions_workshopid_idx ON prefix_workshop_submissions (workshopid); +CREATE INDEX prefix_workshop_submissions_userid_idx ON prefix_workshop_submissions (userid); +CREATE INDEX prefix_workshop_submissions_mailed_idx ON prefix_workshop_submissions (mailed); + # -------------------------------------------------------- # @@ -73,6 +80,12 @@ CREATE TABLE prefix_workshop_assessments ( generalcomment text NOT NULL default '', teachercomment text NOT NULL default '' ); + +CREATE INDEX prefix_workshop_assessments_workshopid_idx ON prefix_workshop_assessments (workshopid); +CREATE INDEX prefix_workshop_assessments_submissionid_idx ON prefix_workshop_assessments (submissionid); +CREATE INDEX prefix_workshop_assessments_userid_idx ON prefix_workshop_assessments (userid); +CREATE INDEX prefix_workshop_assessments_mailed_idx ON prefix_workshop_assessments (mailed); + # -------------------------------------------------------- # @@ -88,6 +101,9 @@ CREATE TABLE prefix_workshop_elements ( maxscore INT NOT NULL default '1', weight float NOT NULL default '1.0' ); + +CREATE INDEX prefix_workshop_elements_workshopid_idx ON prefix_workshop_elements (workshopid); + # -------------------------------------------------------- # @@ -102,6 +118,10 @@ CREATE TABLE prefix_workshop_grades ( feedback text NOT NULL default '', grade INT NOT NULL default '0' ); + +CREATE INDEX prefix_workshop_grades_workshopid_idx ON prefix_workshop_grades (workshopid); +CREATE INDEX prefix_workshop_grades_assessmentid_idx ON prefix_workshop_grades (assessmentid); + # -------------------------------------------------------- CREATE TABLE prefix_workshop_comments ( id SERIAL PRIMARY KEY, @@ -113,6 +133,10 @@ CREATE TABLE prefix_workshop_comments ( comments text NOT NULL default '' ); +CREATE INDEX prefix_workshop_comments_workshopid_idx ON prefix_workshop_comments (workshopid); +CREATE INDEX prefix_workshop_comments_assessmentid_idx ON prefix_workshop_comments (assessmentid); +CREATE INDEX prefix_workshop_comments_userid_idx ON prefix_workshop_comments (userid); +CREATE INDEX prefix_workshop_comments_mailed_idx ON prefix_workshop_comments (mailed); INSERT INTO prefix_log_display VALUES ('workshop', 'assess', 'workshop', 'name'); INSERT INTO prefix_log_display VALUES ('workshop', 'close', 'workshop', 'name'); diff --git a/mod/workshop/version.php b/mod/workshop/version.php index fa67847064b5f..af13db738f3a7 100644 --- a/mod/workshop/version.php +++ b/mod/workshop/version.php @@ -5,7 +5,7 @@ // This fragment is called by /admin/index.php //////////////////////////////////////////////////////////////////////////////// -$module->version = 2004060400; +$module->version = 2004060401; $module->requires = 2004052505; // Requires this Moodle version $module->cron = 60;