modify_database("", "INSERT INTO prefix_log_display VALUES ('chat', 'talk', 'chat', 'name');");
}
+ if ($oldversion < 2004111200) {
+ execute_sql('ALTER TABLE prefix_chat DROP INDEX `course`;',false);
+ execute_sql('ALTER TABLE prefix_chat_messages DROP INDEX `chatid`;',false);
+ execute_sql('ALTER TABLE prefix_chat_messages DROP INDEX `userid`;',false);
+ execute_sql('ALTER TABLE prefix_chat_messages DROP INDEX `groupid`;',false);
+ execute_sql('ALTER TABLE prefix_chat_users DROP INDEX `chatid`;',false);
+ execute_sql('ALTER TABLE prefix_chat_users DROP INDEX `groupid`;',false);
+
+ modify_database('','ALTER TABLE prefix_chat ADD INDEX `course` (`course`);');
+ modify_database('','ALTER TABLE prefix_chat_messages ADD INDEX `chatid` (`chatid`);');
+ modify_database('','ALTER TABLE prefix_chat_messages ADD INDEX `userid` (`userid`);');
+ modify_database('','ALTER TABLE prefix_chat_messages ADD INDEX `groupid` (`groupid`);');
+ modify_database('','ALTER TABLE prefix_chat_users ADD INDEX `chatid` (`chatid`);');
+ modify_database('','ALTER TABLE prefix_chat_users ADD INDEX `groupid` (`groupid`);');
+ }
+
return true;
}
`chattime` int(10) unsigned NOT NULL default '0',
`schedule` int(4) NOT NULL default '0',
`timemodified` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`id`)
+ PRIMARY KEY (`id`),
+ KEY `course` (`course`)
) TYPE=MyISAM COMMENT='Each of these is a chat room';
# --------------------------------------------------------
`message` text NOT NULL,
`timestamp` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
- KEY `timemodifiedchat` (`timestamp`,`chatid`)
+ KEY `timemodifiedchat` (`timestamp`,`chatid`),
+ KEY `chatid` (`chatid`),
+ KEY `userid` (`userid`),
+ KEY `groupid` (`groupid`)
) TYPE=MyISAM COMMENT='Stores all the actual chat messages';
# --------------------------------------------------------
`sid` varchar(32) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `userid` (`userid`),
- KEY `lastping` (`lastping`)
+ KEY `lastping` (`lastping`),
+ KEY `chatid` (`chatid`),
+ KEY `groupid` (`groupid`)
) TYPE=MyISAM COMMENT='Keeps track of which users are in which chat rooms';
modify_database("", "INSERT INTO prefix_log_display VALUES ('chat', 'talk', 'chat', 'name');");
}
+ if ($oldversion < 2004111200) { //drop them first to avoid collisions with upgrades from 1.4.2+
+ execute_sql('DROP INDEX prefix_chat_course_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_messages_chatid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_messages_userid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_messages_groupid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_messages_timemodifiedchatid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_users_chatid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_users_userid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_users_groupid_idx;',false);
+ execute_sql('DROP INDEX prefix_chat_users_lastping_idx;',false);
+
+ modify_database('','CREATE INDEX prefix_chat_course_idx ON prefix_chat(course);');
+ modify_database('','CREATE INDEX prefix_chat_messages_chatid_idx ON prefix_chat_messages (chatid);');
+ modify_database('','CREATE INDEX prefix_chat_messages_userid_idx ON prefix_chat_messages (userid);');
+ modify_database('','CREATE INDEX prefix_chat_messages_groupid_idx ON prefix_chat_messages (groupid);');
+ modify_database('','CREATE INDEX prefix_chat_messages_timemodifiedchatid_idx ON prefix_chat_messages(timestamp,chatid);');
+ modify_database('','CREATE INDEX prefix_chat_users_chatid_idx ON prefix_chat_users (chatid);');
+ modify_database('','CREATE INDEX prefix_chat_users_userid_idx ON prefix_chat_users (userid);');
+ modify_database('','CREATE INDEX prefix_chat_users_groupid_idx ON prefix_chat_users (groupid);');
+ modify_database('','CREATE INDEX prefix_chat_users_lastping_idx ON prefix_chat_users (lastping);');
+ }
+
return true;
}
timemodified INTEGER NOT NULL default '0',
PRIMARY KEY (id)
);
+
+CREATE INDEX prefix_chat_course_idx ON prefix_chat(course);
+
# --------------------------------------------------------
#
timestamp integer NOT NULL default '0',
PRIMARY KEY (id)
);
+
+CREATE INDEX prefix_chat_messages_chatid_idx ON prefix_chat_messages (chatid);
+CREATE INDEX prefix_chat_messages_userid_idx ON prefix_chat_messages (userid);
+CREATE INDEX prefix_chat_messages_groupid_idx ON prefix_chat_messages (groupid);
+CREATE INDEX prefix_chat_messages_timemodifiedchatid_idx ON prefix_chat_messages(timestamp,chatid);
+
# --------------------------------------------------------
#
PRIMARY KEY (id)
);
+CREATE INDEX prefix_chat_users_chatid_idx ON prefix_chat_users (chatid);
+CREATE INDEX prefix_chat_users_userid_idx ON prefix_chat_users (userid);
+CREATE INDEX prefix_chat_users_groupid_idx ON prefix_chat_users (groupid);
+CREATE INDEX prefix_chat_users_lastping_idx ON prefix_chat_users (lastping);
INSERT INTO prefix_log_display VALUES ('chat', 'view', 'chat', 'name');
INSERT INTO prefix_log_display VALUES ('chat', 'add', 'chat', 'name');
/// This fragment is called by moodle_needs_upgrading() and /admin/index.php
/////////////////////////////////////////////////////////////////////////////////
-$module->version = 2004060400; // The (date) version of this module
+$module->version = 2004121100; // The (date) version of this module
$module->requires = 2004052505; // Requires this Moodle version
$module->cron = 300; // How often should cron check this module (seconds)?