academic-moodle-cooperation / moodle-mod_publication

Online texts and files can be collected and published via the Student Folder activity and thus made available to everyone in a Moodle course. Submissions can be made directly by uploading or alternatively can be taken over by teachers from an assignment activity.
https://academic-moodle-cooperation.org/mod_publication/
12 stars 21 forks source link

Column 'mdl_user.auth' is invalid #88

Open utmcgrep opened 1 day ago

utmcgrep commented 1 day ago

We're experiencing the issue that the activity can't be loaded due to an invalid column.

The specs are: Windows Server 2022 Standard 21H2 Apache/2.4.62 (Win64) OpenSSL/3.1.6 PHP/8.2.25 moodle Version 4.4.4+ (Build: 20241101)

The PHP Error is:

[07-Nov-2024 09:15:11 Europe/Berlin] Default exception handler: Error reading from database Debug: SQLState: 42000
Error Code: 8120
Message: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Column 'mdl_user.auth' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

SELECT u.* FROM mdl_user u LEFT JOIN (SELECT DISTINCT eu1_u.id FROM mdl_user eu1_u JOIN mdl_user_enrolments ej1_ue ON ej1_ue.userid = eu1_u.id JOIN mdl_enrol ej1_e ON (ej1_e.id = ej1_ue.enrolid AND ej1_e.courseid = '106') JOIN (SELECT DISTINCT userid FROM mdl_role_assignments WHERE contextid IN (1,119,856,2259) AND roleid IN (6,20,22,23,24,27) ) ra ON ra.userid = eu1_u.id WHERE 1 = 1 AND eu1_u.deleted = 0 AND eu1_u.id <> '1' AND eu1_u.deleted = 0) eu ON eu.id=u.id LEFT JOIN mdl_publication_file files ON (u.id = files.userid) WHERE u.deleted = 0 AND eu.id=u.id AND files.publication = 7 AND files.teacherapproval = 1 AND files.studentapproval = 1 GROUP BY u.id [array ( 0 => '106', 1 => '1', )] Error code: dmlreadexception

  • line 494 of \lib\dml\moodle_database.php: dml_read_exception thrown
  • line 331 of \lib\dml\sqlsrv_native_moodle_database.php: call to moodle_database->query_end()
  • line 438 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->query_end()
  • line 909 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->do_query()
  • line 985 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->get_recordset_sql()
  • line 497 of \mod\publication\locallib.php: call to sqlsrv_native_moodle_database->get_records_sql()
  • line 250 of \mod\publication\classes\local\allfilestable\base.php: call to publication->get_users()
  • line 148 of \mod\publication\classes\local\allfilestable\base.php: call to mod_publication\local\allfilestable\base->init_sql()
  • line 525 of \mod\publication\locallib.php: call to mod_publication\local\allfilestable\base->__construct()
  • line 601 of \mod\publication\locallib.php: call to publication->get_allfilestable()
  • line 215 of \mod\publication\view.php: call to publication->display_allfilesform()

The moodle error is an unspecific Error reading from database. More information about this error: (http://docs.moodle.org/404/en/error/moodle/dmlreadexception)

mwreichel commented 1 day ago

Hi @utmcgrep, thank you for reporting this - we'll have a closer look on it.

All the best, Martin