From fc09484ec1de0ad5ef5f275e924ce0d53a2271a9 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 15 Nov 2022 11:48:16 +0000 Subject: [PATCH] MDL-76310 enrol_lti: fix consumer key upgrade steps for Oracle. Avoids CLOB comparison exceptions, related to ORA-00932. --- enrol/lti/db/upgrade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/enrol/lti/db/upgrade.php b/enrol/lti/db/upgrade.php index 1f21abf5b01..d17ea0de156 100644 --- a/enrol/lti/db/upgrade.php +++ b/enrol/lti/db/upgrade.php @@ -478,9 +478,9 @@ function xmldb_enrol_lti_upgrade($oldversion) { $sql = "SELECT lu.id, lc.secret FROM {enrol_lti_users} lu JOIN {enrol_lti_lti2_consumer} lc - ON (lu.consumerkey = lc.consumerkey256) + ON (" . $DB->sql_compare_text('lu.consumerkey', 255) . " = lc.consumerkey256) WHERE lc.ltiversion = :ltiversion - AND lu.consumersecret != lc.secret + AND " . $DB->sql_compare_text('lu.consumersecret') . " != lc.secret AND lu.lastaccess IS NOT NULL"; $affectedltiusersrs = $DB->get_recordset_sql($sql, ['ltiversion' => 'LTI-2p0']); foreach ($affectedltiusersrs as $ltiuser) { @@ -500,7 +500,7 @@ function xmldb_enrol_lti_upgrade($oldversion) { $sql = "SELECT lu.id, lc.secret FROM {enrol_lti_users} lu JOIN {enrol_lti_lti2_consumer} lc - ON (lu.consumerkey = lc.consumerkey256) + ON (" . $DB->sql_compare_text('lu.consumerkey', 255) . " = lc.consumerkey256) WHERE lu.consumersecret IS NULL AND lu.lastaccess IS NOT NULL"; $affectedltiusersrs = $DB->get_recordset_sql($sql);