MDL-76310 enrol_lti: fix consumer key upgrade steps for Oracle.

Avoids CLOB comparison exceptions, related to ORA-00932.
This commit is contained in:
Paul Holden
2022-11-15 11:48:16 +00:00
parent 7c3188b2ca
commit bec6f3d8a5
+3 -3
View File
@@ -469,9 +469,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) {
@@ -491,7 +491,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);