Incorrect SQL syntax - failing PHPUnit test - MySQL

Issue #53 resolved
Alistair Spark created an issue
Moodle:3.9.1
Peerwork: latest master
Database: MySQL 5.7

mod_peerwork_privacy_provider_testcase::test_export_data_for_user
    dml_read_exception: Error reading from database (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.description AS c_desc, c.descriptionformat AS c_descformat, c.grade AS c_grade,' at line 2
    SELECT p.id, p.peerwork AS peerworkid, p.grade, p.gradedby, p.gradefor, p.feedback, p.timecreated, p.timemodified
                           c.description AS c_desc, c.descriptionformat AS c_descformat, c.grade AS c_grade,
                           j.justification, pw.justification AS pw_justification
                      FROM t_peerwork_peers p
                      JOIN t_peerwork pw
                        ON pw.id = p.peerwork
                      JOIN t_peerwork_criteria c
                        ON c.id = p.criteriaid
                 LEFT JOIN t_peerwork_justification j
                        ON j.gradedby = p.gradedby
                       AND j.gradefor = p.gradefor
                       AND j.peerworkid = p.peerwork
                     WHERE pw.id = ?
                       AND (p.gradedby = ? OR p.gradefor = ?)
                  ORDER BY p.peerwork, p.id
    [array (
      0 => 551000,
      1 => '199000',
      2 => '199000',
    )])

    /var/www/html/lib/dml/moodle_database.php:486
    /var/www/html/lib/dml/mysqli_native_moodle_database.php:1212
    /var/www/html/mod/peerwork/classes/privacy/provider.php:302
    /var/www/html/mod/peerwork/tests/mod_peerwork_privacy_test.php:641
    /var/www/html/lib/phpunit/classes/advanced_testcase.php:80

    To re-run:
     vendor/bin/phpunit "mod_peerwork_privacy_provider_testcase" mod/peerwork/tests/mod_peerwork_privacy_test.php

Comments (3)

  1. Log in to comment