To split from the parent.
What's left:
| File | Complexity |
| includes/block/DatabaseBlock.php | Needs to introduce a query builder to replace ::getQueryInfo() |
| includes/language/MessageCache.php | Takes RevisionStore's query info and unsets pieces |
| includes/utils/BatchRowIterator.php | Designed to do ::select() |
| includes/user/UserEditTracker.php | Calls to deprecated ActorMigration::getWhere (easy) |
| includes/changes/RecentChange.php | Needs introducing RecentChangeSelectQueryBuilder to replace ::getQueryInfo |
| includes/filerepo/file/LocalFile.php | Passes the query array to onLocalFile__getHistory hook |
| includes/filerepo/file/LocalFileDeleteBatch.php | None |
| includes/Permissions/RestrictionStore.php | Calls $this->commentStore->getJoin( 'pt_reason' ); (easy) |
| includes/export/WikiExporter.php | Calls $this->commentStore->getJoin( 'log_comment' ); (easy) |
| includes/editpage/EditPage.php | Calls $this->commentStore->getJoin( 'log_comment' ); (easy) |
| includes/watcheditem/WatchedItemQueryService.php | Sends the query array to modifyWatchedItemsWithRCInfoQuery |
| includes/specialpage/QueryPage.php | The query object is being built in subclasses via ::getQueryInfo() |
| includes/specialpage/ChangesListSpecialPage.php | Runs runMainQueryHook on the query array |
| includes/page/WikiPage.php | Has ::getQueryInfo() and pass it to hooks. getContributors one is easy though. |
| includes/page/WikiPageFactory.php | Gets the query info object from Wikipage::getQueryInfo() |
| includes/page/DeletePage.php | Takes the query info from revision store and fiddles with the query array |
| includes/title/Title.php | None |
| includes/jobqueue/jobs/RecentChangesUpdateJob.php | Takes RecentChange::getQueryInfo() query array |
| includes/Revision/RevisionStore.php | ::getSlotsQueryInfo(), needs a dedicated SQB subclass |
| includes/specials/SpecialRandomPage.php | Passes the query object into a hook onRandomPageQuery |
| includes/specials/SpecialExport.php | ::getLinks() takes the join condition as argument, protected method so (easy) |
| includes/specials/SpecialRecentChanges.php | Passes the query object in runMainQueryHook |
| includes/specials/pagers/ActiveUsersPager.php | Subquery |
| includes/specials/pagers/ImageListPager.php | Gets the query object from ::getQueryInfo and ::buildQueryInfo |
| includes/specials/pagers/ContribsPager.php | ditto |
| tests/phpunit/MediaWikiIntegrationTestCase.php | None |
| tests/phpunit/includes/block/DatabaseBlockTest.php | Needs`DatabaseBlock::getQueryInfo();` |
| tests/phpunit/includes/CommentStore/CommentStoreTest.php | Testing CommentStore's query building part |
| tests/phpunit/includes/user/ActorMigrationTest.php | ditto |
| tests/phpunit/includes/Storage/PageUpdaterTest.php | Needs RecentChange::getQueryInfo() |
| tests/phpunit/integration/includes/block/DatabaseBlockStoreTest.php | None |
| tests/phpunit/unit/includes/Permissions/RestrictionStoreTest.php | Horrifying assert |
| tests/phpunit/unit/includes/libs/rdbms/database/DatabaseMysqlBaseTest.php | None |
| maintenance/namespaceDupes.php | Needs $linksMigration->getQueryInfo |
| maintenance/populateIpChanges.php | Calls to deprecated ActorMigration::getWhere (easy) |