Various methods the core/Db
and core/DbHelper
helper classes execute MySQL specific statements. In order to support alternative databases these statements should be moved to new methods defined in core/Db/AdapterInterface
and implemented by the chosen PDO Adapter.
Suggested Approach
core/Db
and core/DbHelper
, identify those which are very specific to MySQL.core/Db/AdapterInterface
.core/Db/Adapter/Pdo/Mysql
.core/Db
and core/DbHelper
method to call the new methods on the PDO adapter.An example of a MySQL specific helper function is DbHelper::getDefaultCharset())
which fails on TiDB, SingleStore and likely other databases.