aboutsummaryrefslogtreecommitdiffstats
path: root/includes/Category
diff options
context:
space:
mode:
authorthiemowmde <thiemo.kreuz@wikimedia.de>2023-04-21 11:35:36 +0200
committerThiemo Kreuz (WMDE) <thiemo.kreuz@wikimedia.de>2023-04-21 10:35:43 +0000
commitbc3838bd49a9dcf53ae1506819c928e6c1740bc9 (patch)
tree91c40a1095fa5e306992b88f2ffa34d4c1c59a0e /includes/Category
parent5c9674df537d48e729098fe2e0401b636b57e485 (diff)
downloadmediawikicore-bc3838bd49a9dcf53ae1506819c928e6c1740bc9.tar.gz
mediawikicore-bc3838bd49a9dcf53ae1506819c928e6c1740bc9.zip
Use more narrow IConnectionProvider/IReadableDatabase interfaces
There are many, many more places that can benefit from these new interfaces. I like to go step by step. This makes patches like this much easier to review. Change-Id: I461064c1a7f70b3ba3b2a6d47a67cb6e8a54528d
Diffstat (limited to 'includes/Category')
-rw-r--r--includes/Category/Category.php16
1 files changed, 8 insertions, 8 deletions
diff --git a/includes/Category/Category.php b/includes/Category/Category.php
index cfed364bab28..a0e94021f25f 100644
--- a/includes/Category/Category.php
+++ b/includes/Category/Category.php
@@ -31,7 +31,7 @@ use MediaWiki\Title\TitleArray;
use MWException;
use ReadOnlyMode;
use stdClass;
-use Wikimedia\Rdbms\ILoadBalancer;
+use Wikimedia\Rdbms\IConnectionProvider;
/**
* Category objects are immutable, strictly speaking. If you call methods that change the database,
@@ -66,15 +66,15 @@ class Category {
public const COUNT_ALL_MEMBERS = 0;
public const COUNT_CONTENT_PAGES = 1;
- /** @var ILoadBalancer */
- private $loadBalancer;
+ /** @var IConnectionProvider */
+ private $dbProvider;
/** @var ReadOnlyMode */
private $readOnlyMode;
private function __construct() {
$services = MediaWikiServices::getInstance();
- $this->loadBalancer = $services->getDBLoadBalancer();
+ $this->dbProvider = $services->getDBLoadBalancerFactory();
$this->readOnlyMode = $services->getReadOnlyMode();
}
@@ -96,7 +96,7 @@ class Category {
return true;
}
- $row = $this->loadBalancer->getConnectionRef( DB_REPLICA )->newSelectQueryBuilder()
+ $row = $this->dbProvider->getReplicaDatabase()->newSelectQueryBuilder()
->select( [ 'cat_id', 'cat_title', 'cat_pages', 'cat_subcats', 'cat_files' ] )
->from( 'category' )
->where( $where )
@@ -323,7 +323,7 @@ class Category {
* @return TitleArray TitleArray object for category members.
*/
public function getMembers( $limit = false, $offset = '' ) {
- $dbr = $this->loadBalancer->getConnection( DB_REPLICA );
+ $dbr = $this->dbProvider->getReplicaDatabase();
$queryBuilder = $dbr->newSelectQueryBuilder();
$queryBuilder->select( [ 'page_id', 'page_namespace', 'page_title', 'page_len',
'page_is_redirect', 'page_latest' ] )
@@ -373,7 +373,7 @@ class Category {
return false;
}
- $dbw = $this->loadBalancer->getConnectionRef( DB_PRIMARY );
+ $dbw = $this->dbProvider->getPrimaryDatabase();
# Avoid excess contention on the same category (T162121)
$name = __METHOD__ . ':' . md5( $this->mName );
$scopedLock = $dbw->getScopedLockAndFlush( $name, __METHOD__, 0 );
@@ -504,7 +504,7 @@ class Category {
* @since 1.34
*/
public function refreshCountsIfSmall( $maxSize = self::ROW_COUNT_SMALL ) {
- $dbw = $this->loadBalancer->getConnectionRef( DB_PRIMARY );
+ $dbw = $this->dbProvider->getPrimaryDatabase();
$dbw->startAtomic( __METHOD__ );
$typeOccurances = $dbw->newSelectQueryBuilder()