use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\RevisionStore;
use MediaWiki\Storage\SqlBlobStore;
+use Wikimedia\ObjectFactory;
return [
'DBLoadBalancerFactory' => function ( MediaWikiServices $services ) {
$store = new WatchedItemStore(
$services->getDBLoadBalancer(),
new HashBagOStuff( [ 'maxKeys' => 100 ] ),
- $services->getReadOnlyMode()
+ $services->getReadOnlyMode(),
+ $services->getMainConfig()->get( 'UpdateRowsPerQuery' )
);
$store->setStatsdDataFactory( $services->getStatsdDataFactory() );
},
'WatchedItemQueryService' => function ( MediaWikiServices $services ) {
- return new WatchedItemQueryService( $services->getDBLoadBalancer() );
+ return new WatchedItemQueryService(
+ $services->getDBLoadBalancer(),
+ $services->getCommentStore(),
+ $services->getActorMigration()
+ );
},
'CryptRand' => function ( MediaWikiServices $services ) {
$id = 'apc';
} elseif ( function_exists( 'apcu_fetch' ) ) {
$id = 'apcu';
- } elseif ( function_exists( 'xcache_get' ) && wfIniGetBool( 'xcache.var_size' ) ) {
- $id = 'xcache';
} elseif ( function_exists( 'wincache_ucache_get' ) ) {
$id = 'wincache';
} else {
);
},
+ 'UploadRevisionImporter' => function ( MediaWikiServices $services ) {
+ return new ImportableUploadRevisionImporter(
+ $services->getMainConfig()->get( 'EnableUploads' ),
+ LoggerFactory::getInstance( 'UploadRevisionImporter' )
+ );
+ },
+
+ 'OldRevisionImporter' => function ( MediaWikiServices $services ) {
+ return new ImportableOldRevisionImporter(
+ true,
+ LoggerFactory::getInstance( 'OldRevisionImporter' ),
+ $services->getDBLoadBalancer()
+ );
+ },
+
+ 'WikiRevisionOldRevisionImporterNoUpdates' => function ( MediaWikiServices $services ) {
+ return new ImportableOldRevisionImporter(
+ false,
+ LoggerFactory::getInstance( 'OldRevisionImporter' ),
+ $services->getDBLoadBalancer()
+ );
+ },
+
'ShellCommandFactory' => function ( MediaWikiServices $services ) {
$config = $services->getMainConfig();
$store = new RevisionStore(
$services->getDBLoadBalancer(),
$blobStore,
- $services->getMainWANObjectCache()
+ $services->getMainWANObjectCache(),
+ $services->getCommentStore(),
+ $services->getActorMigration()
);
+ $store->setLogger( LoggerFactory::getInstance( 'RevisionStore' ) );
+
$config = $services->getMainConfig();
$store->setContentHandlerUseDB( $config->get( 'ContentHandlerUseDB' ) );
return $store;
},
+ 'RevisionLookup' => function ( MediaWikiServices $services ) {
+ return $services->getRevisionStore();
+ },
+
+ 'RevisionFactory' => function ( MediaWikiServices $services ) {
+ return $services->getRevisionStore();
+ },
+
'BlobStoreFactory' => function ( MediaWikiServices $services ) {
global $wgContLang;
return new BlobStoreFactory(
return new DefaultPreferencesFactory( $config, $wgContLang, $authManager, $linkRenderer );
},
+ 'HttpRequestFactory' => function ( MediaWikiServices $services ) {
+ return new \MediaWiki\Http\HttpRequestFactory();
+ },
+
+ 'CommentStore' => function ( MediaWikiServices $services ) {
+ global $wgContLang;
+ return new CommentStore(
+ $wgContLang,
+ $services->getMainConfig()->get( 'CommentTableSchemaMigrationStage' )
+ );
+ },
+
+ 'ActorMigration' => function ( MediaWikiServices $services ) {
+ return new ActorMigration(
+ $services->getMainConfig()->get( 'ActorTableSchemaMigrationStage' )
+ );
+ },
+
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service here, don't forget to add a getter function
// in the MediaWikiServices class. The convenience getter should just call