Abstract database specific helper methods to adapters #20097
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
Fixes #19648
Moves all MySQL specific code from
core/Db
,core/DbHelper
and all classes undercore/Db/
to the database adapter classescore/Adapter/Pdo/Mysql
,core/Adapter/Mysqli
and a new shared classcore/Adapter
MysqlAdapterCommon` for methods common for both.Updates for tracker Db classes
core/Tracker/Db
,core/Tracker/Db/Pdo/Mysql
andcore/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]
andcore/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.Review