Quantcast
Viewing all articles
Browse latest Browse all 294303

Convert select query extenders to backend-overrideable services

Problem/Motivation

While working on #3217531: Deprecate Connection::getDriverClass mechanism, make its callers abstract, and use standard autoloading, we came across the fact that Connection::getDriverClass is also used to resolve overrides to select query extenders. This is not easily solvable with direct autoloading because the to-be-overridden class resides outside of the database driver namespaces; also, while the db driver specific classes are all necessarily extensions of the Core\Database ones, the extenders may be freely added by any module.

Proposed resolution

Try using backend-overrideable services, adding a factory for each extender that will then instantiate extender objects.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet


Viewing all articles
Browse latest Browse all 294303

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>