From 10bbc95e03cb8fa64cc059ca8ccc4f9a9edcf632 Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Sat, 27 Oct 2018 02:15:07 +1100 Subject: [PATCH] MDL-63785 profilefield_text: performance improvement --- .../field/text/classes/privacy/provider.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/user/profile/field/text/classes/privacy/provider.php b/user/profile/field/text/classes/privacy/provider.php index 87c3ed46825..ae2b0bfaa60 100644 --- a/user/profile/field/text/classes/privacy/provider.php +++ b/user/profile/field/text/classes/privacy/provider.php @@ -95,22 +95,18 @@ class provider implements return; } - $params = [ - 'contextuser' => CONTEXT_USER, - 'contextid' => $context->id, - 'datatype' => 'text' - ]; - - $sql = "SELECT ctx.instanceid as userid + $sql = "SELECT uda.userid FROM {user_info_data} uda JOIN {user_info_field} uif ON uda.fieldid = uif.id - JOIN {context} ctx - ON ctx.instanceid = uda.userid - AND ctx.contextlevel = :contextuser - WHERE ctx.id = :contextid + WHERE uda.userid = :userid AND uif.datatype = :datatype"; + $params = [ + 'userid' => $context->instanceid, + 'datatype' => 'text' + ]; + $userlist->add_from_sql('userid', $sql, $params); }