From: mjollnir_ Date: Sun, 21 Nov 2004 22:03:48 +0000 (+0000) Subject: Merged from MOODLE_14_STABLE: Indexes for workshop and version bump (honoring partial... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=eb46f6a322375c654ba2a5b7e6838450638d1c29;p=moodle.git Merged from MOODLE_14_STABLE: Indexes for workshop and version bump (honoring partial freeze) --- diff --git a/mod/workshop/db/mysql.php b/mod/workshop/db/mysql.php index 959b113185..d576616a3c 100644 --- a/mod/workshop/db/mysql.php +++ b/mod/workshop/db/mysql.php @@ -142,6 +142,40 @@ function workshop_upgrade($oldversion) { execute_sql("ALTER TABLE `{$CFG->prefix}workshop_submissions` DROP COLUMN `biasgrade`"); execute_sql("ALTER TABLE `{$CFG->prefix}workshop_submissions` DROP COLUMN `reliabilitygrade`"); } + + if ($oldversion < 2004111200) { + execute_sql("ALTER TABLE {$CFG->prefix}workshop DROP INDEX course;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_assessments DROP INDEX userid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_assessments DROP INDEX workshopid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_assessments DROP INDEX submissionid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_assessments DROP INDEX mailed;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_comments DROP INDEX workshopid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_comments DROP INDEX assessmentid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_comments DROP INDEX userid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_comments DROP INDEX mailed;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_elements DROP INDEX workshopid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_grades DROP INDEX workshopid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_grades DROP INDEX assessmentid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_submissions DROP INDEX workshopid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_submissions DROP INDEX userid;",false); + execute_sql("ALTER TABLE {$CFG->prefix}workshop_submissions DROP INDEX mailed;",false); + + 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 25680b5dbf..5d598d2fec 100644 --- a/mod/workshop/db/mysql.sql +++ b/mod/workshop/db/mysql.sql @@ -32,7 +32,8 @@ CREATE TABLE `prefix_workshop` ( `showleaguetable` tinyint(3) unsigned NOT NULL default '0', `usepassword` tinyint(3) unsigned NOT NULL default '0', `password` varchar(32) NOT NULL default '', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `course` (`course`) ) COMMENT='Defines workshop'; # -------------------------------------------------------- @@ -53,7 +54,9 @@ CREATE TABLE `prefix_workshop_submissions` ( `late` int(3) unsigned NOT NULL default '0', `nassessments` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`id`), - INDEX `userid` (`userid`) + INDEX `userid` (`userid`), + INDEX `workshopid` (`workshopid`), + INDEX `mailed` (`mailed`) ) COMMENT='Info about submitted work from teacher and students'; # -------------------------------------------------------- @@ -78,7 +81,9 @@ CREATE TABLE `prefix_workshop_assessments` ( `teachercomment` text NOT NULL, PRIMARY KEY (`id`), INDEX (`submissionid`), - INDEX (`userid`) + INDEX (`userid`), + INDEX `workshopid` (`workshopid`), + INDEX `mailed` (`mailed`) ) COMMENT='Info about assessments by teacher and students'; # -------------------------------------------------------- @@ -96,7 +101,8 @@ CREATE TABLE `prefix_workshop_elements` ( `weight` tinyint(3) unsigned NOT NULL default '11', `stddev` float NOT NULL default '0.0', `totalassessments` int(10) NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `workshopid` (`workshopid`) ) COMMENT='Info about marking scheme of assignment'; # -------------------------------------------------------- @@ -127,7 +133,8 @@ CREATE TABLE `prefix_workshop_grades` ( `feedback` text NOT NULL default '', `grade` tinyint(3) NOT NULL default '0', PRIMARY KEY (`id`), - INDEX (`assessmentid`) + INDEX (`assessmentid`), + INDEX `workshopid` (`workshopid`) ) COMMENT='Info about individual grades given to each element'; # -------------------------------------------------------- @@ -157,7 +164,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 27ad048e21..0095c50259 100644 --- a/mod/workshop/db/postgres7.php +++ b/mod/workshop/db/postgres7.php @@ -136,6 +136,39 @@ function workshop_upgrade($oldversion) { execute_sql("ALTER TABLE {$CFG->prefix}workshop_submissions DROP COLUMN reliabilitygrade"); } + if ($oldversion < 2004111200) { + execute_sql("DROP INDEX {$CFG->prefix}workshop_course_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_assessments_workshopid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_assessments_submissionid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_assessments_userid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_assessments_mailed_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_comments_workshopid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_comments_assessmentid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_comments_userid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_comments_mailed_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_elements_workshopid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_grades_workshopid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_grades_assessmentid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_submissions_workshopid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_submissions_userid_idx;",false); + execute_sql("DROP INDEX {$CFG->prefix}workshop_submissions_mailed_idx;",false); + + 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 94969ecfa8..73274321bc 100644 --- a/mod/workshop/db/postgres7.sql +++ b/mod/workshop/db/postgres7.sql @@ -33,6 +33,9 @@ CREATE TABLE prefix_workshop ( usepassword INT NOT NULL DEFAULT '0', password VARCHAR(32) NOT NULL DEFAULT '0' ); + +CREATE INDEX prefix_workshop_course_idx ON prefix_workshop (course); + # -------------------------------------------------------- # @@ -55,7 +58,9 @@ CREATE TABLE prefix_workshop_submissions ( ); CREATE INDEX prefix_workshop_submissions_title_idx on prefix_workshop_submissions (title); CREATE INDEX prefix_workshop_submissions_userid_idx ON prefix_workshop_submissions (userid); - +CREATE INDEX prefix_workshop_submissions_workshopid_idx ON prefix_workshop_submissions (workshopid); +CREATE INDEX prefix_workshop_submissions_mailed_idx ON prefix_workshop_submissions (mailed); + # -------------------------------------------------------- # @@ -79,10 +84,13 @@ CREATE TABLE prefix_workshop_assessments ( 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); + +# -------------------------------------------------------- # # Table structure for table workshop_elements @@ -100,6 +108,8 @@ CREATE TABLE prefix_workshop_elements ( totalrassesments INT8 NOT NULL DEFAULT "0" ); +CREATE INDEX prefix_workshop_elements_workshopid_idx ON prefix_workshop_elements (workshopid); + # -------------------------------------------------------- CREATE TABLE prefix_workshop_rubrics ( id SERIAL PRIMARY KEY, @@ -123,6 +133,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, @@ -133,6 +147,12 @@ CREATE TABLE prefix_workshop_comments ( mailed int2 NOT NULL default '0', 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); + #--------------------------------------------------------- CREATE TABLE prefix_workshop_stockcomments ( id SERIAL PRIMARY KEY, diff --git a/mod/workshop/version.php b/mod/workshop/version.php index 64ce36a111..41abc368e4 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 = 2004111000; +$module->version = 2004111200; $module->requires = 2004091700; // Requires this Moodle version $module->cron = 60;