From 1fdd34a08f505004e109ee3721c9cdac17c73b6f Mon Sep 17 00:00:00 2001
From: Ilya Tregubov <ilya.a.tregubov@gmail.com>
Date: Wed, 17 Jan 2024 17:11:59 +0800
Subject: [PATCH] MDL-67335 qtype_calculatedmulti: Fix upgrade query.

---
 question/type/calculatedmulti/db/upgrade.php | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/question/type/calculatedmulti/db/upgrade.php b/question/type/calculatedmulti/db/upgrade.php
index 111dc1238e4..fb2a0126437 100644
--- a/question/type/calculatedmulti/db/upgrade.php
+++ b/question/type/calculatedmulti/db/upgrade.php
@@ -38,10 +38,14 @@ function xmldb_qtype_calculatedmulti_upgrade($oldversion) {
         // From this version on, answer options may use HTML, so the answerformat does now have a
         // meaning. For backwards compatibility, all existing answer options for this question
         // type must have their answerformat set to FORMAT_PLAIN.
-        $DB->execute("UPDATE {question_answers} AS answers, {question} AS questions
-                         SET answerformat = '" . FORMAT_PLAIN . "'
-                       WHERE answers.question = questions.id
-                             AND questions.qtype = 'calculatedmulti'");
+        $DB->execute("UPDATE {question_answers}
+                              SET answerformat = '" . FORMAT_PLAIN . "'
+                            WHERE question IN (
+                                SELECT id
+                                  FROM {question}
+                                 WHERE qtype = 'calculatedmulti'
+                                 )"
+        );
 
         // Calculatedmulti savepoint reached.
         upgrade_plugin_savepoint(true, 2024011700, 'qtype', 'calculatedmulti');