MDL-70285 completion upgrade: fix performance of the MDL-69687 code

This commit is contained in:
Tim Hunt 2020-11-23 20:45:46 +00:00
parent 87bcff8c6e
commit 86669b0564

View file

@ -2592,11 +2592,12 @@ function xmldb_main_upgrade($oldversion) {
if ($oldversion < 2020061502.09) { if ($oldversion < 2020061502.09) {
// Delete orphaned course_modules_completion rows; these were not deleted properly // Delete orphaned course_modules_completion rows; these were not deleted properly
// by remove_course_contents function. // by remove_course_contents function.
$DB->delete_records_subquery('course_modules_completion', 'id', 'id', $DB->delete_records_select('course_modules_completion', "
"SELECT cmc.id NOT EXISTS (
FROM {course_modules_completion} cmc SELECT 1
LEFT JOIN {course_modules} cm ON cm.id = cmc.coursemoduleid FROM {course_modules} cm
WHERE cm.id IS NULL"); WHERE cm.id = {course_modules_completion}.coursemoduleid
)");
upgrade_main_savepoint(true, 2020061502.09); upgrade_main_savepoint(true, 2020061502.09);
} }