From 076288307f9c9fad55938f67631dbaf2a5e5db4e Mon Sep 17 00:00:00 2001 From: Mihail Geshoski Date: Fri, 2 Nov 2018 14:14:19 +0800 Subject: [PATCH] MDL-63564 core_question: Avoid using UNION in get_users_in_context() --- question/classes/privacy/provider.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/question/classes/privacy/provider.php b/question/classes/privacy/provider.php index e59f5371280..ba690f42ef4 100644 --- a/question/classes/privacy/provider.php +++ b/question/classes/privacy/provider.php @@ -360,21 +360,18 @@ class provider implements // A user may have created or updated a question. // Questions are linked against a question category, which has a contextid field. - $sql = "SELECT q.createdby AS userid + $sql = "SELECT q.createdby, q.modifiedby FROM {question} q - JOIN {question_categories} cat ON cat.id = q.category - WHERE cat.contextid = :contextid - UNION - SELECT q.modifiedby AS userid - FROM {question} q - JOIN {question_categories} cat ON cat.id = q.category - WHERE cat.contextid = :contextidagain"; + JOIN {question_categories} cat + ON cat.id = q.category + WHERE cat.contextid = :contextid"; + $params = [ - 'contextid' => $context->id, - 'contextidagain' => $context->id, + 'contextid' => $context->id ]; - $userlist->add_from_sql('userid', $sql, $params); + $userlist->add_from_sql('createdby', $sql, $params); + $userlist->add_from_sql('modifiedby', $sql, $params); } /** -- 2.43.0