From e9cb4f23a503a00d6dfd3a816182da8a29b157d4 Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Mon, 23 Nov 2020 20:45:46 +0000 Subject: [PATCH] MDL-70285 completion upgrade: fix performance of the MDL-69687 code --- lib/db/upgrade.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 21ccb8a1a86..ada61da45ec 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -3951,11 +3951,12 @@ function xmldb_main_upgrade($oldversion) { if ($oldversion < 2019111805.09) { // Delete orphaned course_modules_completion rows; these were not deleted properly // by remove_course_contents function. - $DB->delete_records_subquery('course_modules_completion', 'id', 'id', - "SELECT cmc.id - FROM {course_modules_completion} cmc - LEFT JOIN {course_modules} cm ON cm.id = cmc.coursemoduleid - WHERE cm.id IS NULL"); + $DB->delete_records_select('course_modules_completion', " + NOT EXISTS ( + SELECT 1 + FROM {course_modules} cm + WHERE cm.id = {course_modules_completion}.coursemoduleid + )"); upgrade_main_savepoint(true, 2019111805.09); }