From 1916f2be8fbceb0e04d1e1ff85c949c4c42269f8 Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Tue, 26 Feb 2019 13:43:36 +1100 Subject: [PATCH] MDL-64782 core_enrol: Performance improvement --- enrol/classes/privacy/provider.php | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/enrol/classes/privacy/provider.php b/enrol/classes/privacy/provider.php index a7d4a96af54..4691244a925 100644 --- a/enrol/classes/privacy/provider.php +++ b/enrol/classes/privacy/provider.php @@ -194,12 +194,9 @@ class provider implements if ($context->contextlevel == CONTEXT_COURSE) { $sql = "SELECT ue.id FROM {user_enrolments} ue - JOIN {enrol} e - ON e.id = ue.enrolid - JOIN {context} ctx - ON ctx.instanceid = e.courseid - WHERE ctx.id = :contextid"; - $params = ['contextid' => $context->id]; + JOIN {enrol} e ON e.id = ue.enrolid + WHERE e.courseid = :courseid"; + $params = ['courseid' => $context->instanceid]; $enrolsids = $DB->get_fieldset_sql($sql, $params); if (!empty($enrolsids)) { list($insql, $inparams) = $DB->get_in_or_equal($enrolsids, SQL_PARAMS_NAMED); @@ -223,14 +220,11 @@ class provider implements $sql = "SELECT ue.id FROM {user_enrolments} ue - JOIN {enrol} e - ON e.id = ue.enrolid - JOIN {context} ctx - ON ctx.instanceid = e.courseid - WHERE ctx.id = :contextid - AND ue.userid {$usersql}"; + JOIN {enrol} e ON e.id = ue.enrolid + WHERE e.courseid = :courseid + AND ue.userid {$usersql}"; - $params = ['contextid' => $context->id] + $userparams; + $params = ['courseid' => $context->instanceid] + $userparams; $enrolsids = $DB->get_fieldset_sql($sql, $params); if (!empty($enrolsids)) {