The function IDatabase::insertSelect of the database abstraction layer does not have a query builder replacement.
- Add InsertQueryBuilder::select and take a SelectQueryBuilder there
- Duplicate the (relevant) functions from SelectQueryBuilder to InsertQueryBuilder and checks, that the right mode is used
- Create a new Query Builder
- Deprecate and remove the function - It could be replaced with explicit select and insert with proper batching, but that would transfer all database from server to client to server.
Usage: https://codesearch.wmcloud.org/search/?q=%5CbinsertSelect%5Cb&files=&excludeFiles=&repos=
In deployed code:
- In core it is used on upload and file deletion
- Flow on insert of new threads
- SecurePoll on edit vote list
- Translate on new revisions
- Wikibase - tests only