From fb7934b2b8da81808c6dc0dbca5f2e1e358e51e2 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Fri, 11 May 2018 08:20:47 +0800 Subject: [PATCH] MDL-62384 tool_monitor: Update to sql to fix performance. --- admin/tool/monitor/classes/privacy/provider.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/admin/tool/monitor/classes/privacy/provider.php b/admin/tool/monitor/classes/privacy/provider.php index a145e2897f7..7641987c423 100644 --- a/admin/tool/monitor/classes/privacy/provider.php +++ b/admin/tool/monitor/classes/privacy/provider.php @@ -91,8 +91,10 @@ class provider implements \core_privacy\local\metadata\provider, \core_privacy\l $sql = "SELECT DISTINCT ctx.id FROM {context} ctx LEFT JOIN {tool_monitor_rules} mr ON ctx.instanceid = mr.userid AND ctx.contextlevel = :contextuserrule + AND mr.userid = :useridsubscriptions LEFT JOIN {tool_monitor_subscriptions} ms ON ctx.instanceid = ms.userid AND ctx.contextlevel = :contextusersub - WHERE (ms.userid = :useridrules OR mr.userid = :useridsubscriptions)"; + AND ms.userid = :useridrules + WHERE ms.id IS NOT NULL OR mr.id IS NOT NULL"; $contextlist = new contextlist(); $contextlist->add_from_sql($sql, $params);