MDL-50583 upgrade: Optimize upgrade_minmaxgrade
authorGeekSmith <cbmegahan@geeksmith.com>
Fri, 12 Jun 2015 20:21:50 +0000 (16:21 -0400)
committerDavid Monllao <davidm@moodle.com>
Mon, 15 Jun 2015 02:40:46 +0000 (10:40 +0800)
Reverse join order to use existing database keys. Changed query to use the
more easily read NOT IN.

lib/upgradelib.php

index 68978e2..0c2349b 100644 (file)
@@ -2303,10 +2303,10 @@ function upgrade_minmaxgrade() {
 
     // Identify the courses that have inconsistencies grade_item vs grade_grade.
     $sql = "SELECT DISTINCT(gi.courseid)
-              FROM {grade_items} gi
-              JOIN {grade_grades} gg
+              FROM {grade_grades} gg
+              JOIN {grade_items} gi
                 ON gg.itemid = gi.id
-             WHERE (gi.itemtype != ? AND gi.itemtype != ?)
+             WHERE gi.itemtype NOT IN (?, ?)
                AND (gg.rawgrademax != gi.grademax OR gg.rawgrademin != gi.grademin)";
 
     $rs = $DB->get_recordset_sql($sql, array('course', 'category'));