From 26a06fa7b63f7732302e4cbcd324c33a1f5abeac Mon Sep 17 00:00:00 2001
From: Michael Aherne <michael.aherne@strath.ac.uk>
Date: Tue, 3 Jul 2012 12:05:05 +0100
Subject: [PATCH] MDL-34156 Remove subselect from slow query

---
 enrol/meta/locallib.php | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/enrol/meta/locallib.php b/enrol/meta/locallib.php
index 454c974d1ad..fa3125cb20e 100644
--- a/enrol/meta/locallib.php
+++ b/enrol/meta/locallib.php
@@ -477,11 +477,10 @@ function enrol_meta_sync($courseid = NULL, $verbose = false) {
     $sql = "SELECT ue.*
               FROM {user_enrolments} ue
               JOIN {enrol} e ON (e.id = ue.enrolid AND e.enrol = 'meta' $onecourse)
-         LEFT JOIN (SELECT xpue.userid, xpe.courseid
-                      FROM {user_enrolments} xpue
+         LEFT JOIN ({user_enrolments} xpue
                       JOIN {enrol} xpe ON (xpe.id = xpue.enrolid AND xpe.enrol <> 'meta' AND xpe.enrol $enabled)
-                   ) pue ON (pue.courseid = e.customint1 AND pue.userid = ue.userid)
-             WHERE pue.userid IS NULL";
+                   ) ON (xpe.courseid = e.customint1 AND xpue.userid = ue.userid)
+             WHERE xpue.userid IS NULL";
     $rs = $DB->get_recordset_sql($sql, $params);
     foreach($rs as $ue) {
         if (!isset($instances[$ue->enrolid])) {