diff options
author | thiemowmde <thiemo.kreuz@wikimedia.de> | 2023-04-21 11:35:36 +0200 |
---|---|---|
committer | Thiemo Kreuz (WMDE) <thiemo.kreuz@wikimedia.de> | 2023-04-21 10:35:43 +0000 |
commit | bc3838bd49a9dcf53ae1506819c928e6c1740bc9 (patch) | |
tree | 91c40a1095fa5e306992b88f2ffa34d4c1c59a0e /includes/Category | |
parent | 5c9674df537d48e729098fe2e0401b636b57e485 (diff) | |
download | mediawikicore-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.php | 16 |
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() |