From c8ade8cbdc1496d015e9030c8790c3c249958ade Mon Sep 17 00:00:00 2001 From: David Curry Date: Tue, 28 Jan 2014 11:56:37 +1300 Subject: [PATCH] MDL-43797 lib/db/upgrade.php: Optimise sql for my_pages deletion Change-Id: Idf300ab07afda3bcefea80e617549f40c710e529 --- lib/db/upgrade.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index d482127cf40..490c82516c0 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2929,12 +2929,13 @@ function xmldb_main_upgrade($oldversion) { if ($oldversion < 2014012300.01) { // Remove deleted users home pages. - $active = $DB->get_fieldset_select('user', 'id', 'deleted = ?', array(0)); - list($insql, $params) = $DB->get_in_or_equal($active, SQL_PARAMS_QM, 'param', false); - $sql = 'DELETE FROM {my_pages} - WHERE userid ' . $insql; - - $DB->execute($sql, $params); + $sql = "DELETE FROM {my_pages} + WHERE EXISTS (SELECT {user}.id + FROM {user} + WHERE {user}.id = {my_pages}.userid + AND {user}.deleted = 1) + AND {my_pages}.private = 1"; + $DB->execute($sql); // Reached main savepoint. upgrade_main_savepoint(true, 2014012300.01);