-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
2.9.3
-
None
-
29.0.0.12 (2015060119)
-
MOODLE_29_STABLE
Hello,
When running CRON this SQL request error is thrown for the plugin local_o365.
it shows a double mistake :
1. usage of double quotes : ( mq.errormessage = "" )
2. usage of (LIMIT 0, 100) which does fit all DBMS (like SQLServer for example)
Error detail :
Execute scheduled task: Process Match Queue
... started 14:20:25. Current memory use 4.4Mo.
... used 1 dbqueries
... used 0.063764095306396 seconds
Scheduled task failed: Process Match Queue,Erreur de lecture de la base de données
Debug info:
SQLState: 42000<br>
Error Code: 1038<br>
Message: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Un nom d'objet ou de colonne est manquant ou vide. Pour les instructions SELECT INTO, vérifiez si chaque colonne a un nom. Pour les autres instructions, recherchez des noms d'alias vides. Les alias définis sous la forme " " ou [] ne sont pas autorisés. Remplacez l'alias par un nom valide.<br>
SQLState: 42000<br>
Error Code: 102<br>
Message: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Syntaxe incorrecte vers 'LIMIT'.<br>
SELECT mq.*,
u.id as muserid,
muserconn.id as muserexistingconnectionid,
officeconn.id as officeuserexistingconnectionid,
oidctok.id as officeuserexistingoidctoken
FROM mdl_local_o365_matchqueue mq
LEFT JOIN mdl_user u ON mq.musername = u.username
LEFT JOIN mdl_local_o365_connections muserconn ON muserconn.muserid = u.id
LEFT JOIN mdl_local_o365_connections officeconn ON officeconn.aadupn = mq.o365username
LEFT JOIN mdl_auth_oidc_token oidctok ON oidctok.oidcusername = mq.o365username
WHERE mq.completed = '0' AND mq.errormessage = ""
ORDER BY mq.id ASC
LIMIT 0, 100
[array (
0 => '0',
)]
Backtrace:
- line 291 of \lib\dml\sqlsrv_native_moodle_database.php: call to moodle_database->query_end()
- line 398 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->query_end()
- line 850 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->do_query()
- line 87 of \local\o365\classes\task\processmatchqueue.php: call to sqlsrv_native_moodle_database->get_recordset_sql()
- line 74 of \lib\cronlib.php: call to local_o365\task\processmatchqueue->execute()
- line 81 of \admin\cron.php: call to cron_run()