if ($oldversion < 2004070700) { // This may be redoing it from STABLE but that's OK
table_column("forum_discussions", "groupid", "groupid", "integer", "10", "", "0", "");
}
+
+ if ($oldversion < 2004111700) {
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_posts` DROP INDEX {$CFG->prefix}forum_posts_parent_idx;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_posts` DROP INDEX {$CFG->prefix}forum_posts_discussion_idx;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_posts` DROP INDEX {$CFG->prefix}forum_posts_userid_idx;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_discussions` DROP INDEX {$CFG->prefix}forum_discussions_forum_idx;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_discussions` DROP INDEX {$CFG->prefix}forum_discussions_userid_idx;",false);
+
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_posts` ADD INDEX {$CFG->prefix}forum_posts_parent_idx (parent) ");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_posts` ADD INDEX {$CFG->prefix}forum_posts_discussion_idx (discussion) ");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_posts` ADD INDEX {$CFG->prefix}forum_posts_userid_idx (userid) ");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_discussions` ADD INDEX {$CFG->prefix}forum_discussions_forum_idx (forum) ");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}forum_discussions` ADD INDEX {$CFG->prefix}forum_discussions_userid_idx (userid) ");
+ }
+
+ if ($oldversion < 2004111700) {
+ execute_sql("ALTER TABLE {$CFG->prefix}forum DROP INDEX course;",false);
+ execute_sql("ALTER TABLE {$CFG->prefix}forum_ratings DROP INDEX userid;",false);
+ execute_sql("ALTER TABLE {$CFG->prefix}forum_ratings DROP INDEX post;",false);
+ execute_sql("ALTER TABLE {$CFG->prefix}forum_subscriptions DROP INDEX userid;",false);
+ execute_sql("ALTER TABLE {$CFG->prefix}forum_subscriptions DROP INDEX forum;",false);
+
+ modify_database('','ALTER TABLE prefix_forum ADD INDEX course (course);');
+ modify_database('','ALTER TABLE prefix_forum_ratings ADD INDEX userid (userid);');
+ modify_database('','ALTER TABLE prefix_forum_ratings ADD INDEX post (post);');
+ modify_database('','ALTER TABLE prefix_forum_subscriptions ADD INDEX userid (userid);');
+ modify_database('','ALTER TABLE prefix_forum_subscriptions ADD INDEX forum (forum);');
+ }
return true;
-
+
}
rssarticles tinyint(2) unsigned NOT NULL default '0',
timemodified int(10) unsigned NOT NULL default '0',
PRIMARY KEY (id),
- UNIQUE KEY id (id)
+ UNIQUE KEY id (id),
+ KEY course (course)
) COMMENT='Forums contain and structure discussion';
# --------------------------------------------------------
assessed tinyint(1) NOT NULL default '1',
timemodified int(10) unsigned NOT NULL default '0',
usermodified int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (id)
+ PRIMARY KEY (id),
+ KEY prefix_forum_discussions_forum_idx (forum),
+ KEY prefix_forum_discussions_userid_idx (userid)
) COMMENT='Forums are composed of discussions';
# --------------------------------------------------------
format tinyint(2) NOT NULL default '0',
attachment VARCHAR(100) NOT NULL default '',
totalscore tinyint(4) NOT NULL default '0',
- PRIMARY KEY (id)
+ PRIMARY KEY (id),
+ KEY prefix_forum_posts_parent_idx (parent),
+ KEY prefix_forum_posts_discussion_idx (discussion),
+ KEY prefix_forum_posts_userid_idx (userid)
) COMMENT='All posts are stored in this table';
# --------------------------------------------------------
post int(10) unsigned NOT NULL default '0',
time int(10) unsigned NOT NULL default '0',
rating tinyint(4) NOT NULL default '0',
- PRIMARY KEY (id)
+ PRIMARY KEY (id),
+ KEY userid (userid),
+ KEY post (post)
) COMMENT='Contains user ratings for individual posts';
# --------------------------------------------------------
userid int(10) unsigned NOT NULL default '0',
forum int(10) unsigned NOT NULL default '0',
PRIMARY KEY (id),
- UNIQUE KEY id (id)
+ UNIQUE KEY id (id),
+ KEY userid (userid),
+ KEY forum (forum)
) COMMENT='Keeps track of who is subscribed to what forum';
# --------------------------------------------------------
}
+ if ($oldversion < 2004111700) {
+ execute_sql(" DROP INDEX {$CFG->prefix}forum_posts_parent_idx;",false);
+ execute_sql(" DROP INDEX {$CFG->prefix}forum_posts_discussion_idx;",false);
+ execute_sql(" DROP INDEX {$CFG->prefix}forum_posts_userid_idx;",false);
+ execute_sql(" DROP INDEX {$CFG->prefix}forum_discussions_forum_idx;",false);
+ execute_sql(" DROP INDEX {$CFG->prefix}forum_discussions_userid_idx;",false);
+
+ execute_sql(" CREATE INDEX {$CFG->prefix}forum_posts_parent_idx ON {$CFG->prefix}forum_posts (parent) ");
+ execute_sql(" CREATE INDEX {$CFG->prefix}forum_posts_discussion_idx ON {$CFG->prefix}forum_posts (discussion) ");
+ execute_sql(" CREATE INDEX {$CFG->prefix}forum_posts_userid_idx ON {$CFG->prefix}forum_posts (userid) ");
+ execute_sql(" CREATE INDEX {$CFG->prefix}forum_discussions_forum_idx ON {$CFG->prefix}forum_discussions (forum) ");
+ execute_sql(" CREATE INDEX {$CFG->prefix}forum_discussions_userid_idx ON {$CFG->prefix}forum_discussions (userid) ");
+ }
+
+ if ($oldversion < 2004111200) {
+ execute_sql("DROP INDEX {$CFG->prefix}forum_course_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_queue_userid_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_queue_discussion_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_queue_postid_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_ratings_userid_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_ratings_post_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_subscriptions_userid_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}forum_subscriptions_forum_idx;",false);
+
+ modify_database('','CREATE INDEX prefix_forum_course_idx ON prefix_forum (course);');
+ modify_database('','CREATE INDEX prefix_forum_queue_userid_idx ON prefix_forum_queue (userid);');
+ modify_database('','CREATE INDEX prefix_forum_queue_discussion_idx ON prefix_forum_queue (discussionid);');
+ modify_database('','CREATE INDEX prefix_forum_queue_postid_idx ON prefix_forum_queue (postid);');
+ modify_database('','CREATE INDEX prefix_forum_ratings_userid_idx ON prefix_forum_ratings (userid);');
+ modify_database('','CREATE INDEX prefix_forum_ratings_post_idx ON prefix_forum_ratings (post);');
+ modify_database('','CREATE INDEX prefix_forum_subscriptions_userid_idx ON prefix_forum_subscriptions (userid);');
+ modify_database('','CREATE INDEX prefix_forum_subscriptions_forum_idx ON prefix_forum_subscriptions (forum);');
+ }
+
return true;
}
rssarticles integer NOT NULL default '0',
timemodified integer NOT NULL default '0'
);
+
+CREATE INDEX prefix_forum_course_idx ON prefix_forum (course);
# --------------------------------------------------------
#
timemodified integer NOT NULL default '0',
usermodified integer NOT NULL default '0'
);
+
+CREATE INDEX prefix_forum_discussions_forum_idx ON prefix_forum_discussions (forum);
+CREATE INDEX prefix_forum_discussions_userid_idx ON prefix_forum_discussions (userid);
+
# --------------------------------------------------------
#
attachment VARCHAR(100) NOT NULL default '',
totalscore integer NOT NULL default '0'
);
+
+CREATE INDEX prefix_forum_posts_discussion_idx ON prefix_forum_posts (discussion);
+CREATE INDEX prefix_forum_posts_parent_idx ON prefix_forum_posts (parent);
+CREATE INDEX prefix_forum_posts_userid_idx ON prefix_forum_posts (userid);
+
+
# --------------------------------------------------------
#
postid integer default 0 NOT NULL
);
+CREATE INDEX prefix_forum_queue_userid_idx ON prefix_forum_queue (userid);
+CREATE INDEX prefix_forum_queue_discussion_idx ON prefix_forum_queue (discussionid);
+CREATE INDEX prefix_forum_queue_postid_idx ON prefix_forum_queue (postid);
# --------------------------------------------------------
time integer NOT NULL default '0',
rating integer NOT NULL default '0'
);
+
+CREATE INDEX prefix_forum_ratings_userid_idx ON prefix_forum_ratings (userid);
+CREATE INDEX prefix_forum_ratings_post_idx ON prefix_forum_ratings (post);
+
# --------------------------------------------------------
#
userid integer NOT NULL default '0',
forum integer NOT NULL default '0'
);
+
+CREATE INDEX prefix_forum_subscriptions_userid_idx ON prefix_forum_subscriptions (userid);
+CREATE INDEX prefix_forum_subscriptions_forum_idx ON prefix_forum_subscriptions (forum);
+
# --------------------------------------------------------
#
// This fragment is called by /admin/index.php
////////////////////////////////////////////////////////////////////////////////
-$module->version = 2004091700;
+$module->version = 2004111700;
$module->requires = 2004091700; // Requires this Moodle version
$module->cron = 60;