Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-22098

Broken caching in the grade item classes leads ot O(n) DB queries in the grader report

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.9.8
    • Fix Version/s: 1.9.9
    • Component/s: Gradebook
    • Labels:
      None
    • Affected Branches:
      MOODLE_19_STABLE
    • Fixed Branches:
      MOODLE_19_STABLE

      Description

      I think the diff makes the problem clear.

      Index: lib/grade/grade_item.php
      @@ -871,7 +871,7 @@
            * @return object Grade_category
            */
           function load_item_category() {
      -        if (empty($this->category->id)) {
      +        if (empty($this->item_category->id)) {
                   $this->item_category = $this->get_item_category();
               }
               return $this->item_category;

      This was causing one DB query per category, per student, when showing the grader report, which is very, very bad.

      Andy, adding you as QA assignee, because I believe you are Mr Gradebook these days.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    8/Jun/10