Page MenuHomeWickedGov Phorge

LocalSerialProvider.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

LocalSerialProvider.php

<?php
namespace MediaWiki\User\TempUser;
use Wikimedia\Rdbms\ILoadBalancer;
/**
* A serial provider which allocates IDs from the local database, or from a
* shared database if $wgSharedDB is used. It is "local" in the sense that it
* uses the same DB connection as the local wiki.
*
* @since 1.39
*/
class LocalSerialProvider extends DBSerialProvider {
private ILoadBalancer $lb;
/**
* @param array $config
* - numShards (int, default 1): A small integer. This can be set to a
* value greater than 1 to avoid acquiring a global lock when
* allocating IDs, at the expense of making the IDs be non-monotonic.
* @param ILoadBalancer $lb
*/
public function __construct( $config, ILoadBalancer $lb ) {
parent::__construct( $config );
$this->lb = $lb;
}
protected function getDB() {
return $this->lb->getConnection(
DB_PRIMARY,
[],
false,
// So that startAtomic() will start a commit, reducing lock time.
// Without this flag, the transaction will be open until the start
// of request shutdown. This could be omitted to reduce the
// connection overhead, with numShards tuned upwards to compensate.
ILoadBalancer::CONN_TRX_AUTOCOMMIT
);
}
protected function getTableName() {
return 'user_autocreate_serial';
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 10:26 (1 w, 1 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
d4/c9/a3d068b0c666784e319cf0efdff4
Default Alt Text
LocalSerialProvider.php (1 KB)

Event Timeline