From ea4176c24fb673199bafabf7a6b3519b88021701 Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Mon, 16 May 2016 15:17:57 +0800 Subject: [PATCH] MDL-54108 mod_feedback: separate upgrade sql for mysql --- mod/feedback/db/upgradelib.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mod/feedback/db/upgradelib.php b/mod/feedback/db/upgradelib.php index d0716c4a70a..35fe93f9363 100644 --- a/mod/feedback/db/upgradelib.php +++ b/mod/feedback/db/upgradelib.php @@ -56,11 +56,18 @@ function mod_feedback_upgrade_courseid($tmp = false) { } // Part 2. Update courseid in the completed table. - $sql = "UPDATE {feedback_completed$suffix} " + if ($DB->get_dbfamily() !== 'mysql') { + $sql = "UPDATE {feedback_completed$suffix} " . "SET courseid = (SELECT COALESCE(MIN(v.course_id), 0) " . "FROM {feedback_value$suffix} v " . "WHERE v.completed = {feedback_completed$suffix}.id)"; - $DB->execute($sql); + $DB->execute($sql); + } else { + $sql = "UPDATE {feedback_completed$suffix} c, {feedback_value$suffix} v " + . "SET c.courseid = v.course_id " + . "WHERE v.completed = c.id AND v.course_id <> 0"; + $DB->execute($sql); + } } /**