-
Bug
-
Resolution: Fixed
-
Critical
-
3.1.2, 3.2, 3.3
-
MOODLE_31_STABLE, MOODLE_32_STABLE, MOODLE_33_STABLE
-
MOODLE_31_STABLE, MOODLE_32_STABLE
-
MDL-57192-master -
-
3.3 sprint 1
This is essentially the same issue as MDL-29199. Unfortunately the reported bugfix wasn't replicated for all other drivers that use the same functionalities.
When enabling query logging ('logall' set to true) in $CFG->dboptions, the MySQLi driver (and possibly other drivers as well) will try to call $this->temptables->is_temptable($table) while $this->temptables is not initialized (= null) yet. Execution fails with errors similar to:
Fatal error: Call to a member function is_temptable() on a non-object in /moodle/lib/dml/mysqli_native_moodle_database.php on line 580
|
Since this has been reported in the Orcal driver before and now is happening again in MySQLi, chances are that the issue also exists for MSSQL, SQLite3, PostgreSQL, SQLSRV and in the abstract moodle class, since they all make a call to is_temptable(). As such these other drivers should be checked as well.
- has a non-specific relationship to
-
MDL-29199 Database query logging fails with Oracle
- Closed
-
MDL-58689 Fatal error on mysql when enabling 'logall'
- Closed
- is a regression caused by
-
MDL-51374 Do not purge entire databasemeta cache when there are structure changes (esp temp tables).
- Closed
- Testing discovered
-
MDL-57575 Unit test failures and php notice/error if database query logging is enabled
- Closed