* Made DBLockManager constructor a bit more convenient to use with just 'localDBMaster' in the db buckets.
* Documentation tweaks.
* All of the library classes must be registed in $wgAutoloadClasses.
*
* @ingroup FileBackend
+ * @since 1.19
*/
class SwiftFileBackend extends FileBackend {
/** @var CF_Authentication */
/**
* SwiftFileBackend helper class to page through object listings.
* Swift also has a listing limit of 10,000 objects for sanity.
+ * Do not use this class from places outside SwiftFileBackend.
*
* @ingroup FileBackend
*/
* @param Array $config
*/
public function __construct( array $config ) {
- $this->dbServers = $config['dbServers'];
+ $this->dbServers = isset( $config['dbServers'] )
+ ? $config['dbServers']
+ : array(); // likely just using 'localDBMaster'
// Sanitize dbsByBucket config to prevent PHP errors
$this->dbsByBucket = array_filter( $config['dbsByBucket'], 'is_array' );
$this->dbsByBucket = array_values( $this->dbsByBucket ); // consecutive
*/
protected function getBucketFromKey( $path ) {
$prefix = substr( sha1( $path ), 0, 2 ); // first 2 hex chars (8 bits)
- return intval( base_convert( $prefix, 16, 10 ) ) % count( $this->dbsByBucket );
+ return intval( base_convert( $prefix, 16, 10 ) ) % count( $this->srvsByBucket );
}
/**