'IEUrlExtension' => __DIR__ . '/includes/libs/IEUrlExtension.php',
'IExpiringStore' => __DIR__ . '/includes/libs/objectcache/IExpiringStore.php',
'IJobSpecification' => __DIR__ . '/includes/jobqueue/JobSpecification.php',
- 'ILBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/ILBFactory.php',
'ILoadBalancer' => __DIR__ . '/includes/libs/rdbms/loadbalancer/ILoadBalancer.php',
'ILocalizedException' => __DIR__ . '/includes/exception/LocalizedException.php',
'IMaintainableDatabase' => __DIR__ . '/includes/libs/rdbms/database/IMaintainableDatabase.php',
'JsonContentHandler' => __DIR__ . '/includes/content/JsonContentHandler.php',
'KkConverter' => __DIR__ . '/languages/classes/LanguageKk.php',
'KuConverter' => __DIR__ . '/languages/classes/LanguageKu.php',
- 'LBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactory.php',
- 'LBFactoryMulti' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactoryMulti.php',
- 'LBFactorySimple' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactorySimple.php',
- 'LBFactorySingle' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactorySingle.php',
'LCStore' => __DIR__ . '/includes/cache/localisation/LCStore.php',
'LCStoreCDB' => __DIR__ . '/includes/cache/localisation/LCStoreCDB.php',
'LCStoreDB' => __DIR__ . '/includes/cache/localisation/LCStoreDB.php',
'WikiTextStructure' => __DIR__ . '/includes/content/WikiTextStructure.php',
'Wikimedia\\Rdbms\\ChronologyProtector' => __DIR__ . '/includes/libs/rdbms/ChronologyProtector.php',
'Wikimedia\\Rdbms\\ConnectionManager' => __DIR__ . '/includes/libs/rdbms/connectionmanager/ConnectionManager.php',
+ 'Wikimedia\\Rdbms\\ILBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/ILBFactory.php',
'Wikimedia\\Rdbms\\ILoadMonitor' => __DIR__ . '/includes/libs/rdbms/loadmonitor/ILoadMonitor.php',
+ 'Wikimedia\\Rdbms\\LBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactory.php',
+ 'Wikimedia\\Rdbms\\LBFactoryMulti' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactoryMulti.php',
+ 'Wikimedia\\Rdbms\\LBFactorySimple' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactorySimple.php',
+ 'Wikimedia\\Rdbms\\LBFactorySingle' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactorySingle.php',
'Wikimedia\\Rdbms\\LoadMonitor' => __DIR__ . '/includes/libs/rdbms/loadmonitor/LoadMonitor.php',
'Wikimedia\\Rdbms\\LoadMonitorMySQL' => __DIR__ . '/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php',
'Wikimedia\\Rdbms\\LoadMonitorNull' => __DIR__ . '/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php',
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Session\SessionManager;
use Wikimedia\ScopedCallback;
+use Wikimedia\Rdbms\LBFactory;
// Hide compatibility functions from Doxygen
/// @cond
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\ChronologyProtector;
+use Wikimedia\Rdbms\LBFactory;
/**
* The MediaWiki class is the helper class for the index.php entry point.
use GenderCache;
use GlobalVarConfig;
use Hooks;
-use LBFactory;
+use Wikimedia\Rdbms\LBFactory;
use LinkCache;
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use LoadBalancer;
);
}
+ // For configuration backward compatibility after moving classes to namespaces (1.29)
+ $compat = [
+ 'LBFactorySingle' => Wikimedia\Rdbms\LBFactorySingle::class,
+ 'LBFactorySimple' => Wikimedia\Rdbms\LBFactorySimple::class,
+ 'LBFactoryMulti' => Wikimedia\Rdbms\LBFactoryMulti::class
+ ];
+
+ if ( isset( $compat[$class] ) ) {
+ $class = $compat[$class];
+ }
+
return $class;
}
}
* @file
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
/**
* Class for managing the deferred updates
* @file
* @ingroup Deployment
*/
+use Wikimedia\Rdbms\LBFactorySingle;
/**
* Base class for DBMS-specific installation helper classes.
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
+use Wikimedia\Rdbms\LBFactory;
/**
* Job queue runner utility methods
* @file
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
/**
* Job to add recent change entries mentioning category membership changes
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use InvalidArgumentException;
+use ILoadBalancer;
+use LoadBalancer;
+use DBTransactionError;
+use DBReplicationWaitError;
+
/**
* An interface for generating database load balancers
* @ingroup Database
* @param string $fname Caller name
* @param array $options Options map:
* - maxWriteDuration: abort if more than this much time was spent in write queries
- * @throws Exception
+ * @throws DBTransactionError
*/
public function commitMasterChanges( $fname = __METHOD__, array $options = [] );
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
-use Wikimedia\Rdbms\TransactionProfiler;
-use Wikimedia\Rdbms\ChronologyProtector;
+use BagOStuff;
+use EmptyBagOStuff;
+use WANObjectCache;
+use DatabaseDomain;
+use Exception;
+use RuntimeException;
+use ILoadBalancer;
+use IDatabase;
+use LoadBalancer;
+use DBTransactionError;
+use DBReplicationWaitError;
/**
* An interface for generating database load balancers
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use LoadBalancer;
+use IDatabase;
+use DatabaseDomain;
+use InvalidArgumentException;
+
/**
* A multi-database, multi-master factory for Wikimedia and similar installations.
* Ignores the old configuration globals.
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use LoadBalancer;
+use InvalidArgumentException;
+
/**
* A simple single-master LBFactory that gets its configuration from the b/c globals
*/
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use LoadBalancerSingle;
+use IDatabase;
+use InvalidArgumentException;
+use BadMethodCallException;
+
/**
* An LBFactory class that always returns a single database object.
*/
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
/**
* Abstract maintenance class for quickly writing and churning out
<?php
+
+use MediaWiki\MediaWikiServices;
+
/**
* Maintenance script to wrap all old-style passwords in a layered type
*
$typeCond = 'user_password' . $dbw->buildLike( ":$firstType:", $dbw->anyString() );
$minUserId = 0;
+ $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
do {
$this->beginTransaction( $dbw, __METHOD__ );
}
$this->commitTransaction( $dbw, __METHOD__ );
- LBFactory::waitForReplication();
+ $lbFactory->waitForReplication();
// Clear memcached so old passwords are wiped out
foreach ( $updateUsers as $user ) {
use MediaWiki\Services\DestructibleService;
use MediaWiki\Services\SalvageableService;
use MediaWiki\Services\ServiceDisabledException;
+use Wikimedia\Rdbms\LBFactory;
/**
* @covers MediaWiki\MediaWikiServices
'SearchEngineFactory' => [ 'SearchEngineFactory', SearchEngineFactory::class ],
'SearchEngineConfig' => [ 'SearchEngineConfig', SearchEngineConfig::class ],
'SkinFactory' => [ 'SkinFactory', SkinFactory::class ],
- 'DBLoadBalancerFactory' => [ 'DBLoadBalancerFactory', 'LBFactory' ],
+ 'DBLoadBalancerFactory' => [ 'DBLoadBalancerFactory', Wikimedia\Rdbms\LBFactory::class ],
'DBLoadBalancer' => [ 'DBLoadBalancer', 'LoadBalancer' ],
'WatchedItemStore' => [ 'WatchedItemStore', WatchedItemStore::class ],
'WatchedItemQueryService' => [ 'WatchedItemQueryService', WatchedItemQueryService::class ],
<?php
+use Wikimedia\Rdbms\LBFactorySimple;
+use Wikimedia\Rdbms\LBFactoryMulti;
use Wikimedia\Rdbms\ChronologyProtector;
/**
public function getLBFactoryClassProvider() {
return [
# Format: new class, old class
- [ 'LBFactorySimple', 'LBFactory_Simple' ],
- [ 'LBFactorySingle', 'LBFactory_Single' ],
- [ 'LBFactoryMulti', 'LBFactory_Multi' ],
+ [ Wikimedia\Rdbms\LBFactorySimple::class, 'LBFactory_Simple' ],
+ [ Wikimedia\Rdbms\LBFactorySingle::class, 'LBFactory_Single' ],
+ [ Wikimedia\Rdbms\LBFactoryMulti::class, 'LBFactory_Multi' ],
+ [ Wikimedia\Rdbms\LBFactorySimple::class, 'LBFactorySimple' ],
+ [ Wikimedia\Rdbms\LBFactorySingle::class, 'LBFactorySingle' ],
+ [ Wikimedia\Rdbms\LBFactoryMulti::class, 'LBFactoryMulti' ],
];
}