Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 3.0.4, 3.1.1
-
Fix Version/s: 3.1.2
-
Component/s: Assignment, Performance
-
Labels:
-
Testing Instructions:
-
Affected Branches:MOODLE_30_STABLE, MOODLE_31_STABLE
-
Fixed Branches:MOODLE_31_STABLE
-
Pull from Repository:
-
Pull Master Branch:
MDL-54873-master -
Pull Master Diff URL:
Description
With blind marking enabled, fetching participant mappings requires one DB call per user.
- mod/assign/gradingtable.php::col_recordid calls
- mod/assign/locallib.php::get_uniqueid_for_user, which in turn calls
- # mod/assign/locallib.php::get_uniqueid_for_user_static, which makes at least one, and potentially more calls to get_record.
We should make an attempt to either:
- join the assign_user_mapping table when formulating the SQL query in the constructor; or
- fetch all mappings in get_uniquid_for_user() or somewhere in that chain.
My preference is for joining the user mapping table in the table constructor, as this also helps to resolve MDL-54872 as the recordid becomes available as a sorting value.
By doing this we can reduce the number of DB reads by the number of users displayed on the page.
Attachments
Issue Links
- blocks
-
MDL-54872 Sort blind marked assignment by blind ID instead of userid
-
- Closed
-
- caused a regression
-
MDL-56466 Assignment Grading Summary broken with Blind Marking and Team submission enabled.
-
- Closed
-
- has been marked as being related by
-
MDL-54872 Sort blind marked assignment by blind ID instead of userid
-
- Closed
-