if ($oldversion < 2004091900) { // modify idnumber to hold longer values
table_column('user', 'idnumber', 'idnumber', 'varchar', '64', '', '', '', '');
+ execute_sql("ALTER TABLE {$CFG->prefix}user DROP INDEX user_idnumber",false); // added in case of conflicts with upgrade from 14stable
+ execute_sql("ALTER TABLE {$CFG->prefix}user DROP INDEX user_auth",false); // added in case of conflicts with upgrade from 14stable
+
execute_sql("ALTER TABLE {$CFG->prefix}user ADD INDEX idnumber (idnumber)");
execute_sql("ALTER TABLE {$CFG->prefix}user ADD INDEX auth (auth)");
}
execute_sql("UPDATE {$CFG->prefix}course SET lang = 'mi_nt' WHERE lang = 'ma_nt'");
}
+ if ($oldversion < 2004111700) { // add indexes. - drop them first silently to avoid conflicts when upgrading.
+ execute_sql(" ALTER TABLE `{$CFG->prefix}course` DROP INDEX idnumber;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}course` DROP INDEX shortname;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}user_students` DROP INDEX userid;",false);
+ execute_sql(" ALTER TABLE `{$CFG->prefix}user_teachers` DROP INDEX userid;",false);
+
+ execute_sql(" ALTER TABLE `{$CFG->prefix}course` ADD INDEX idnumber (idnumber);");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}course` ADD INDEX shortname (shortname);");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}user_students` ADD INDEX userid (userid);");
+ execute_sql(" ALTER TABLE `{$CFG->prefix}user_teachers` ADD INDEX userid (userid);");
+ }
+
+ if ($oldversion < 2004111700) {// add an index to event for timestart and timeduration. - drop them first silently to avoid conflicts when upgrading.
+ execute_sql('ALTER TABLE prefix_event DROP INDEX timestart;',false);
+ execute_sql('ALTER TABLE prefix_event DROP INDEX timeduration;',false);
+
+ modify_database('','ALTER TABLE prefix_event ADD INDEX timestart (timestart);');
+ modify_database('','ALTER TABLE prefix_event ADD INDEX timeduration (timeduration);');
+ }
+
+ if ($oldversion < 2004111700) { //add indexes on modules and course_modules. - drop them first silently to avoid conflicts when upgrading.
+ execute_sql('ALTER TABLE prefix_course_modules drop key visible;',false);
+ execute_sql('ALTER TABLE prefix_course_modules drop key course;',false);
+ execute_sql('ALTER TABLE prefix_course_modules drop key module;',false);
+ execute_sql('ALTER TABLE prefix_course_modules drop key instance;',false);
+ execute_sql('ALTER TABLE prefix_course_modules drop key deleted;',false);
+ execute_sql('ALTER TABLE prefix_modules drop key name;',false);
+
+ modify_database('','ALTER TABLE prefix_course_modules add key visible(visible);');
+ modify_database('','ALTER TABLE prefix_course_modules add key course(course);');
+ modify_database('','ALTER TABLE prefix_course_modules add key module(module);');
+ modify_database('','ALTER TABLE prefix_course_modules add key instance (instance);');
+ modify_database('','ALTER TABLE prefix_course_modules add key deleted (deleted);');
+ modify_database('','ALTER TABLE prefix_modules add key name(name);');
+ }
+
+ if ($oldversion < 2004111700) { // add an index on the groups_members table. - drop them first silently to avoid conflicts when upgrading.
+ execute_sql('ALTER TABLE prefix_groups_members DROP INDEX userid;',false);
+
+ modify_database('','ALTER TABLE prefix_groups_members ADD INDEX userid (userid);');
+ }
+
+ if ($oldversion < 2004111700) { // add an index on user students timeaccess (used for sorting)- drop them first silently to avoid conflicts when upgrading
+ execute_sql('ALTER TABLE prefix_user_students DROP INDEX timeaccess;',false);
+
+ modify_database('','ALTER TABLE prefix_user_students ADD INDEX timeaccess (timeaccess);');
+ }
+
+ if ($oldversion < 2004111700) { // add indexes on faux-foreign keys. - drop them first silently to avoid conflicts when upgrading.
+ execute_sql('ALTER TABLE prefix_scale DROP INDEX courseid;',false);
+ execute_sql('ALTER TABLE prefix_user_admins DROP INDEX userid;',false);
+ execute_sql('ALTER TABLE prefix_user_coursecreators DROP INDEX userid;',false);
+
+ modify_database('','ALTER TABLE prefix_scale ADD INDEX courseid (courseid);');
+ modify_database('','ALTER TABLE prefix_user_admins ADD INDEX userid (userid);');
+ modify_database('','ALTER TABLE prefix_user_coursecreators ADD INDEX userid (userid);');
+ }
+
return $result;
}
`timecreated` int(10) unsigned NOT NULL default '0',
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
- KEY `category` (`category`)
+ KEY `category` (`category`),
+ KEY `idnumber` (`idnumber`),
+ KEY `shortname` (`shortname`)
) TYPE=MyISAM;
# --------------------------------------------------------
`visible` tinyint(1) NOT NULL default '1',
`groupmode` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`),
- UNIQUE KEY `id` (`id`)
+ UNIQUE KEY `id` (`id`),
+ KEY `visible` (`visible`),
+ KEY `course` (`course`),
+ KEY `module` (`module`),
+ KEY `instance` (`instance`),
+ KEY `deleted` (`deleted`)
) TYPE=MyISAM;
# --------------------------------------------------------
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `courseid` (`courseid`),
- KEY `userid` (`userid`)
+ KEY `userid` (`userid`),
+ KEY `timestart` (`timestart`),
+ KEY `timeduration` (`timeduration`)
) TYPE=MyISAM COMMENT='For everything with a time associated to it';
# --------------------------------------------------------
`timeadded` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
- KEY `groupid` (`groupid`)
+ KEY `groupid` (`groupid`),
+ KEY `userid` (`userid`)
) TYPE=MyISAM COMMENT='Lists memberships of users to groups';
# --------------------------------------------------------
`search` varchar(255) NOT NULL default '',
`visible` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`id`),
- UNIQUE KEY `id` (`id`)
+ UNIQUE KEY `id` (`id`),
+ KEY `name` (`name`)
) TYPE=MyISAM;
# --------------------------------------------------------
`scale` text NOT NULL,
`description` text NOT NULL,
`timemodified` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (id)
+ PRIMARY KEY (id),
+ KEY `courseid` (`courseid`)
) TYPE=MyISAM COMMENT='Defines grading scales';
# --------------------------------------------------------
`id` int(10) unsigned NOT NULL auto_increment,
`userid` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
- UNIQUE KEY `id` (`id`)
+ UNIQUE KEY `id` (`id`),
+ KEY `userid` (`userid`)
) TYPE=MyISAM COMMENT='One record per administrator user';
# --------------------------------------------------------
`timeaccess` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
- KEY `courseuserid` (course,userid)
+ KEY `courseuserid` (course,userid),
+ KEY `userid` (userid),
+ KEY `timeaccess` (timeaccess)
) TYPE=MyISAM;
# --------------------------------------------------------
`timeaccess` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
- KEY `courseuserid` (course,userid)
+ KEY `courseuserid` (course,userid),
+ KEY `userid` (userid)
) TYPE=MyISAM COMMENT='One record per teacher per course';
#
`id` int(10) unsigned NOT NULL auto_increment,
`userid` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
- UNIQUE KEY `id` (`id`)
+ UNIQUE KEY `id` (`id`),
+ KEY `userid` (`userid`)
) TYPE=MyISAM COMMENT='One record per course creator';
INSERT INTO prefix_log_display VALUES ('user', 'view', 'user', 'CONCAT(firstname," ",lastname)');
if ($oldversion < 2004091900) { //Modify idnumber to hold longer keys
set_field('user', 'auth', 'manual', 'username', 'guest');
table_column('user', 'idnumber', 'idnumber', 'varchar', '64', '', '', '', '');
+ execute_sql("DROP INDEX {$CFG->prefix}user_idnumber_idx ;",false);// added in case of conflicts with upgrade from 14stable
+ execute_sql("DROP INDEX {$CFG->prefix}user_auth_idx ;",false);// added in case of conflicts with upgrade from 14stable
execute_sql("CREATE INDEX {$CFG->prefix}user_idnumber_idx ON {$CFG->prefix}user (idnumber)");
execute_sql("CREATE INDEX {$CFG->prefix}user_auth_idx ON {$CFG->prefix}user (auth)");
}
execute_sql("UPDATE {$CFG->prefix}user SET lang = 'mi_nt' WHERE lang = 'ma_nt'");
execute_sql("UPDATE {$CFG->prefix}course SET lang = 'mi_nt' WHERE lang = 'ma_nt'");
}
+
+ if ($oldversion < 2004111700) { // add indexes- drop them first silently to avoid conflicts when upgrading.
+ execute_sql("DROP INDEX {$CFG->prefix}course_idnumber_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}course_shortname_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}user_students_userid_idx;",false);
+ execute_sql("DROP INDEX {$CFG->prefix}user_teachers_userid_idx;",false);
+
+ modify_database("","CREATE INDEX {$CFG->prefix}course_idnumber_idx ON {$CFG->prefix}course (idnumber);" );
+ modify_database("","CREATE INDEX {$CFG->prefix}course_shortname_idx ON {$CFG->prefix}course (shortname);" );
+ modify_database("","CREATE INDEX {$CFG->prefix}user_students_userid_idx ON {$CFG->prefix}user_students (userid);");
+ modify_database("","CREATE INDEX {$CFG->prefix}user_teachers_userid_idx ON {$CFG->prefix}user_teachers (userid);");
+ }
+
+ if ($oldversion < 2004111700) { // add an index to event for timestart and timeduration- drop them first silently to avoid conflicts when upgrading.
+ execute_sql('DROP INDEX prefix_event_timestart_idx;',false);
+ execute_sql('DROP INDEX prefix_event_timeduration_idx;',false);
+
+ modify_database('','CREATE INDEX prefix_event_timestart_idx ON prefix_event (timestart);');
+ modify_database('','CREATE INDEX prefix_event_timeduration_idx ON prefix_event (timeduration);');
+ }
+
+ if ($oldversion < 2004117000) { // add an index on the groups_members table- drop them first silently to avoid conflicts when upgrading.
+ execute_sql('CREATE INDEX prefix_groups_members_userid_idx;',false);
+
+ modify_database('','CREATE INDEX prefix_groups_members_userid_idx ON prefix_groups_members (userid);');
+ }
- return $result;
+ if ($oldversion < 2004111700) { //add indexes on modules and course_modules- drop them first silently to avoid conflicts when upgrading.
+ execute_sql('DROP INDEX prefix_course_modules_visible_idx;',false);
+ execute_sql('DROP INDEX prefix_course_modules_course_idx;',false);
+ execute_sql('DROP INDEX prefix_course_modules_module_idx;',false);
+ execute_sql('DROP INDEX prefix_course_modules_instance_idx;',false);
+ execute_sql('DROP INDEX prefix_course_modules_deleted_idx;',false);
+ execute_sql('DROP INDEX prefix_modules_name_idx;',false);
+
+ modify_database('','CREATE INDEX prefix_course_modules_visible_idx ON prefix_course_modules (visible);');
+ modify_database('','CREATE INDEX prefix_course_modules_course_idx ON prefix_course_modules (course);');
+ modify_database('','CREATE INDEX prefix_course_modules_module_idx ON prefix_course_modules (module);');
+ modify_database('','CREATE INDEX prefix_course_modules_instance_idx ON prefix_course_modules (instance);');
+ modify_database('','CREATE INDEX prefix_course_modules_deleted_idx ON prefix_course_modules (deleted);');
+ modify_database('','CREATE INDEX prefix_modules_name_idx ON prefix_modules (name);');
+ }
+
+ if ($oldversion < 2004111700) { // add an index on user students timeaccess (used for sorting)- drop them first silently to avoid conflicts when upgrading
+ execute_sql('DROP INDEX prefix_user_students_timeaccess_idx;',false);
+
+ modify_database('','CREATE INDEX prefix_user_students_timeaccess_idx ON prefix_user_students (timeaccess);');
+ }
+
+ if ($oldversion < 2004111700) { //add indexes on faux foreign keys - drop them first silently to avoid conflicts when upgrading.
+ execute_sql('DROP INDEX prefix_course_sections_coursesection_idx;',false);
+ execute_sql('DROP INDEX prefix_scale_courseid_idx;',false);
+ execute_sql('DROP INDEX prefix_user_admins_userid_idx;',false);
+ execute_sql('DROP INDEX prefix_user_coursecreators_userid_idx;',false);
+
+ modify_database('','CREATE INDEX prefix_course_sections_coursesection_idx ON prefix_course_sections (course,section);');
+ modify_database('','CREATE INDEX prefix_scale_courseid_idx ON prefix_scale (courseid);');
+ modify_database('','CREATE INDEX prefix_user_admins_userid_idx ON prefix_user_admins (userid);');
+ modify_database('','CREATE INDEX prefix_user_coursecreators_userid_idx ON prefix_user_coursecreators (userid);');
+ }
+
+ return $result;
}
?>
);
CREATE INDEX prefix_course_category_idx ON prefix_course (category);
+CREATE INDEX prefix_course_idnumber_idx ON prefix_course (idnumber);
+CREATE INDEX prefix_course_shortname_idx ON prefix_course (shortname);
CREATE TABLE prefix_course_categories (
id SERIAL PRIMARY KEY,
groupmode integer NOT NULL default '0'
);
+CREATE INDEX prefix_course_modules_visible_idx ON prefix_course_modules (visible);
+CREATE INDEX prefix_course_modules_course_idx ON prefix_course_modules (course);
+CREATE INDEX prefix_course_modules_module_idx ON prefix_course_modules (module);
+CREATE INDEX prefix_course_modules_instance_idx ON prefix_course_modules (instance);
+CREATE INDEX prefix_course_modules_deleted_idx ON prefix_course_modules (deleted);
+
CREATE TABLE prefix_course_sections (
id SERIAL PRIMARY KEY,
course integer NOT NULL default '0',
visible integer NOT NULL default '1'
);
+CREATE INDEX prefix_course_sections_coursesection_idx ON prefix_course_sections (course,section);
+
CREATE TABLE prefix_event (
id SERIAL PRIMARY KEY,
name varchar(255) NOT NULL default '',
CREATE INDEX prefix_event_courseid_idx ON prefix_event (courseid);
CREATE INDEX prefix_event_userid_idx ON prefix_event (userid);
+CREATE INDEX prefix_event_timestart_idx ON prefix_event (timestart);
+CREATE INDEX prefix_event_timeduration_idx ON prefix_event (timeduration)
CREATE TABLE prefix_groups (
id SERIAL PRIMARY KEY,
);
CREATE INDEX prefix_groups_members_idx ON prefix_groups_members (groupid);
+CREATE INDEX prefix_groups_members_userid_idx ON prefix_groups_members (userid);
CREATE TABLE prefix_log (
id SERIAL PRIMARY KEY,
visible integer NOT NULL default '1'
);
+CREATE INDEX prefix_modules_name_idx ON prefix_modules (name);
+
CREATE TABLE prefix_scale (
id SERIAL PRIMARY KEY,
courseid integer NOT NULL default '0',
CREATE INDEX prefix_cache_filters_filtermd5key_idx ON prefix_cache_filters (filter,md5key);
+CREATE INDEX prefix_scale_courseid_idx ON prefix_scale (courseid);
+
CREATE TABLE prefix_cache_text (
id SERIAL PRIMARY KEY,
userid integer NOT NULL default '0'
);
+CREATE INDEX prefix_user_admins_userid_idx ON prefix_user_admins (userid);
+
CREATE TABLE prefix_user_preferences (
id SERIAL PRIMARY KEY,
userid integer NOT NULL default '0',
);
CREATE INDEX prefix_user_students_courseuserid_idx ON prefix_user_students (course,userid);
+CREATE INDEX prefix_user_students_userid_idx ON prefix_user_students (userid);
CREATE TABLE prefix_user_teachers (
id SERIAL PRIMARY KEY,
);
CREATE INDEX prefix_user_teachers_courseuserid_idx ON prefix_user_teachers (course,userid);
+CREATE INDEX prefix_user_teachers_userid_idx ON prefix_user_teachers (userid);
CREATE TABLE prefix_user_coursecreators (
id SERIAL8 PRIMARY KEY,