}
flush();
- // drop some indexes quietly -- they may or may not exist depending on what version
- // the user upgrades from
+ // drop some indexes quietly -- they may or may not exist depending on what version
+ // the user upgrades from
execute_sql("DROP INDEX {$CFG->prefix}user_students_courseuserid_idx ", false);
- execute_sql("DROP INDEX {$CFG->prefix}user_students_courseuserid_uk ", false);
+ execute_sql("DROP INDEX {$CFG->prefix}user_students_courseuserid_uk ", false);
modify_database('','CREATE UNIQUE INDEX prefix_user_students_courseuserid_uk ON prefix_user_students (course,userid);');
/// Delete duplicate teacher enrolments
}
flush();
- // drop some indexes quietly -- they may or may not exist depending on what version
- // the user upgrades from
+ // drop some indexes quietly -- they may or may not exist depending on what version
+ // the user upgrades from
execute_sql("DROP INDEX {$CFG->prefix}user_teachers_courseuserid_idx ", false);
- execute_sql("DROP INDEX {$CFG->prefix}user_teachers_courseuserid_uk ", false);
+ execute_sql("DROP INDEX {$CFG->prefix}user_teachers_courseuserid_uk ", false);
modify_database('','CREATE UNIQUE INDEX prefix_user_teachers_courseuserid_uk ON prefix_user_teachers (course,userid);');
}
+ if ($oldversion < 2004112401) {
+ // some postgres databases may have a non-unique index mislabeled unique.
+ fix_course_sortorder(0,0,1);
+ execute_sql("DROP INDEX {$CFG->prefix}course_category_sortorder_uk ", false);
+ execute_sql("DROP INDEX {$CFG->prefix}course_category_idx ", false);
+ modify_database('', "CREATE UNIQUE INDEX prefix_course_category_sortorder_uk ON prefix_course(category,sortorder);");
+
+ // odd! username was missing its unique index!
+ // first silently drop it just in case...
+ execute_sql("DROP INDEX {$CFG->prefix}user_username_uk", false);
+ modify_database('', "CREATE UNIQUE INDEX prefix_user_username_uk ON prefix_user (username);");
+
+ }
+
return $result;
}
timemodified integer NOT NULL default '0'
);
-CREATE INDEX prefix_course_category_idx ON prefix_course (category);
+CREATE UNIQUE INDEX prefix_course_category_sortorder_uk ON prefix_course (category,sortorder);
CREATE INDEX prefix_course_idnumber_idx ON prefix_course (idnumber);
CREATE INDEX prefix_course_shortname_idx ON prefix_course (shortname);
CONSTRAINT prefix_user_username_uk UNIQUE (username)
);
+CREATE UNIQUE INDEX prefix_user_username_uk ON prefix_user (username);
CREATE INDEX prefix_user_idnumber_idx ON prefix_user (idnumber);
CREATE INDEX prefix_user_auth_idx ON prefix_user (auth);
CREATE INDEX prefix_user_deleted_idx ON prefix_user (deleted);