Fixes #19648
Moves all MySQL specific code from core/Db
, core/DbHelper
and all classes under core/Db/
to the database adapter classes core/Adapter/Pdo/Mysql
, core/Adapter/Mysqli
and a new shared class core/Adapter
MysqlAdapterCommon` for methods common for both.
Updates for tracker Db classes core/Tracker/Db
, core/Tracker/Db/Pdo/Mysql
and core/Tracker/Db/Mysqli
are also included.
The overall objective of these changes is to be able to add a new core/Db/Adapter/Pdo/[some new db]
, core/Db/Schema/[some new db]
and core/Tracker/Db/Pdo/[[some new db]
where 'some new db' supports prima facie MySQL style queries but has a different underlying architecture with differences in schema, indices, key type, engine type, error codes and session variables.
The previous branch suffered from the dreaded submodules 'not our ref' error so this a replacement branch/PR