-
Bug
-
Resolution: Fixed
-
Minor
-
2.1.2, 2.2
-
Microsoft Windows 2008 R2, MS SQL 2005, PHP 5.3.6, IIS 7
-
Microsoft SQL
-
MOODLE_21_STABLE, MOODLE_22_STABLE
-
MOODLE_21_STABLE
-
When editing a simple quiz to change the grade weight I get the error "error/moodle/dmlreadexception" when saving. The new grade is saved.
Debugging produces:
Debug info: SQLState: 42000<br>
Error Code: 102<br>
Message: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near '<'.<br>
SELECT users.userid, qg.id, qg.grade, newgrades.newgrade
FROM (
SELECT userid
FROM mdl_quiz_grades qg
WHERE quiz = '376'
UNION
SELECT DISTINCT userid
FROM mdl_quiz_attempts quiza2
WHERE
quiza2.timefinish <> 0 AND
quiza2.preview = 0 AND
quiza2.quiz = '376'
) users
LEFT JOIN mdl_quiz_grades qg ON qg.userid = users.userid AND qg.quiz = '376'
LEFT JOIN (
SELECT quiza.userid, MAX(quiza.sumgrades) * 1.1111111111111 AS newgrade
FROM mdl_quiz_attempts quiza
WHERE
quiza.timefinish <> 0 AND
quiza.preview = 0 AND
quiza.quiz = '376'
GROUP BY quiza.userid
) newgrades ON newgrades.userid = users.userid
WHERE
ABS(newgrades.newgrade - qg.grade) > 0.000005 OR
(newgrades.newgrade IS NULL) <> (qg.grade IS NULL)
[array (
0 => '376',
1 => '376',
2 => '376',
3 => '376',
)]
Stack trace: •line 394 of \lib\dml\moodle_database.php: dml_read_exception thrown
•line 252 of \lib\dml\sqlsrv_native_moodle_database.php: call to moodle_database->query_end()
•line 368 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->query_end()
•line 773 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->do_query()
•line 807 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->get_recordset_sql()
•line 697 of \mod\quiz\locallib.php: call to sqlsrv_native_moodle_database->get_records_sql()
•line 380 of \mod\quiz\edit.php: call to quiz_update_all_final_grades()
- Discovered while testing
-
MDL-30220 Gradebook results don't reflect different grades when grading method is changed
-
- Closed
-