Migrate a couple more wfGetDb() calls to ICP

Bug: T330641
Change-Id: I1b5edf34151ef7a379d3f5787ac6c850d069cba0
This commit is contained in:
Amir Sarabadani 2023-10-17 22:08:33 +02:00
parent 337029cbbb
commit 16cd567522
5 changed files with 16 additions and 9 deletions

View file

@ -597,7 +597,7 @@ class DeleteAction extends FormAction {
* @return bool
*/
private function pageHasHistory(): bool {
$dbr = wfGetDB( DB_REPLICA );
$dbr = $this->dbProvider->getReplicaDatabase();
$res = $dbr->newSelectQueryBuilder()
->select( '*' )
->from( 'revision' )

View file

@ -238,7 +238,11 @@ class DatabaseBlock extends AbstractBlock {
$fromPrimary,
$vagueTarget = null
) {
$db = wfGetDB( $fromPrimary ? DB_PRIMARY : DB_REPLICA );
if ( $fromPrimary ) {
$db = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->getPrimaryDatabase();
} else {
$db = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->getReplicaDatabase();
}
$specificTarget = $specificTarget instanceof UserIdentity ?
$specificTarget->getName() :

View file

@ -80,14 +80,13 @@ class RecentChangesUpdateJob extends Job {
MainConfigNames::RCMaxAge );
$updateRowsPerQuery = $services->getMainConfig()->get(
MainConfigNames::UpdateRowsPerQuery );
$dbw = wfGetDB( DB_PRIMARY );
$factory = $services->getDBLoadBalancerFactory();
$dbw = $factory->getPrimaryDatabase();
$lockKey = $dbw->getDomainID() . ':recentchanges-prune';
if ( !$dbw->lock( $lockKey, __METHOD__, 0 ) ) {
// already in progress
return;
}
$factory = $services->getDBLoadBalancerFactory();
$ticket = $factory->getEmptyTransactionTicket( __METHOD__ );
$hookRunner = new HookRunner( $services->getHookContainer() );
$cutoff = $dbw->timestamp( time() - $rcMaxAge );

View file

@ -48,6 +48,7 @@ use MediaWiki\User\UserOptionsLookup;
use Wikimedia\IPUtils;
use Wikimedia\LightweightObjectStore\ExpirationAwareness;
use Wikimedia\NonSerializable\NonSerializableTrait;
use Wikimedia\Rdbms\IConnectionProvider;
/**
* Legacy class representing an editable page and handling UI for some page actions.
@ -136,6 +137,8 @@ class Article implements Page {
/** @var ArchivedRevisionLookup */
private $archivedRevisionLookup;
protected IConnectionProvider $dbProvider;
/**
* @var RevisionRecord|null Revision to be shown
*
@ -161,6 +164,7 @@ class Article implements Page {
$this->wikiPageFactory = $services->getWikiPageFactory();
$this->jobQueueGroup = $services->getJobQueueGroup();
$this->archivedRevisionLookup = $services->getArchivedRevisionLookup();
$this->dbProvider = $services->getDBLoadBalancerFactory();
}
/**
@ -1261,7 +1265,7 @@ class Article implements Page {
return false;
}
$dbr = wfGetDB( DB_REPLICA );
$dbr = $this->dbProvider->getReplicaDatabase();
$oldestRevisionRow = $dbr->newSelectQueryBuilder()
->select( [ 'rev_id', 'rev_timestamp' ] )
->from( 'revision' )
@ -1497,7 +1501,7 @@ class Article implements Page {
if ( $isRegistered || $dbCache->get( $key ) || $sessionExists ) {
$logTypes = [ 'delete', 'move', 'protect' ];
$dbr = wfGetDB( DB_REPLICA );
$dbr = $this->dbProvider->getReplicaDatabase();
$conds = [ 'log_action != ' . $dbr->addQuotes( 'revision' ) ];
// Give extensions a chance to hide their (unrelated) log entries

View file

@ -644,7 +644,7 @@ EOT
} else {
# Image does not exist
if ( !$this->getPage()->getId() ) {
$dbr = wfGetDB( DB_REPLICA );
$dbr = $this->dbProvider->getReplicaDatabase();
# No article exists either
# Show deletion log to be consistent with normal articles
@ -867,7 +867,7 @@ EOT
* @return IResultWrapper
*/
protected function queryImageLinks( $target, $limit ) {
return wfGetDB( DB_REPLICA )->newSelectQueryBuilder()
return $this->dbProvider->getReplicaDatabase()->newSelectQueryBuilder()
->select( [ 'page_namespace', 'page_title', 'il_to' ] )
->from( 'imagelinks' )
->join( 'page', null, 'il_from = page_id' )