From: Aaron Schulz Date: Sun, 4 Aug 2019 14:50:50 +0000 (-0400) Subject: revisionstore: clean up redundant DB connection code in RevisionStore X-Git-Tag: 1.34.0-rc.0~772^2 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmembres/load.php?a=commitdiff_plain;h=4dfeb4b4b9fffbda1a2555409442a8d3188eec8d;p=lhc%2Fweb%2Fwiklou.git revisionstore: clean up redundant DB connection code in RevisionStore Change-Id: If9c2391046936862bee05cfbd8cdc9440347071c --- diff --git a/includes/Revision/RevisionStore.php b/includes/Revision/RevisionStore.php index fe5b5b94e9..9e8dfe7e40 100644 --- a/includes/Revision/RevisionStore.php +++ b/includes/Revision/RevisionStore.php @@ -276,17 +276,6 @@ class RevisionStore return $this->loadBalancer; } - /** - * @param int $mode DB_MASTER or DB_REPLICA - * @param array $groups - * - * @return IDatabase - */ - private function getDBConnection( $mode, $groups = [] ) { - $lb = $this->getDBLoadBalancer(); - return $lb->getConnectionRef( $mode, $groups, $this->dbDomain ); - } - /** * @param int $queryFlags a bit field composed of READ_XXX flags * @@ -297,22 +286,15 @@ class RevisionStore return $this->getDBConnectionRef( $mode ); } - /** - * @param IDatabase $connection - */ - private function releaseDBConnection( IDatabase $connection ) { - $lb = $this->getDBLoadBalancer(); - $lb->reuseConnection( $connection ); - } - /** * @param int $mode DB_MASTER or DB_REPLICA * + * @param array $groups * @return DBConnRef */ - private function getDBConnectionRef( $mode ) { + private function getDBConnectionRef( $mode, $groups = [] ) { $lb = $this->getDBLoadBalancer(); - return $lb->getConnectionRef( $mode, [], $this->dbDomain ); + return $lb->getConnectionRef( $mode, $groups, $this->dbDomain ); } /** @@ -1154,7 +1136,7 @@ class RevisionStore */ public function getRecentChange( RevisionRecord $rev, $flags = 0 ) { list( $dbType, ) = DBAccessObjectUtils::getDBOptions( $flags ); - $db = $this->getDBConnection( $dbType ); + $db = $this->getDBConnectionRef( $dbType ); $userIdentity = $rev->getUser( RevisionRecord::RAW ); @@ -1176,8 +1158,6 @@ class RevisionStore $dbType ); - $this->releaseDBConnection( $db ); - // XXX: cache this locally? Glue it to the RevisionRecord? return $rc; } @@ -1593,7 +1573,7 @@ class RevisionStore * @return RevisionRecord|null */ public function getRevisionByTimestamp( $title, $timestamp ) { - $db = $this->getDBConnection( DB_REPLICA ); + $db = $this->getDBConnectionRef( DB_REPLICA ); return $this->newRevisionFromConds( [ 'rev_timestamp' => $db->timestamp( $timestamp ), @@ -2203,9 +2183,8 @@ class RevisionStore && $lb->hasOrMadeRecentMasterChanges() ) { $flags = self::READ_LATEST; - $dbw = $this->getDBConnection( DB_MASTER ); + $dbw = $this->getDBConnectionRef( DB_MASTER ); $rev = $this->loadRevisionFromConds( $dbw, $conditions, $flags, $title ); - $this->releaseDBConnection( $dbw ); } return $rev; @@ -2574,7 +2553,7 @@ class RevisionStore * of the corresponding revision. */ public function getRevisionSizes( array $revIds ) { - return $this->listRevisionSizes( $this->getDBConnection( DB_REPLICA ), $revIds ); + return $this->listRevisionSizes( $this->getDBConnectionRef( DB_REPLICA ), $revIds ); } /** @@ -2634,7 +2613,7 @@ class RevisionStore } list( $dbType, ) = DBAccessObjectUtils::getDBOptions( $flags ); - $db = $this->getDBConnection( $dbType, [ 'contributions' ] ); + $db = $this->getDBConnectionRef( $dbType, [ 'contributions' ] ); $ts = $this->getTimestampFromId( $rev->getId(), $flags ); if ( $ts === false ) {