Remove workaround for comparing database domain IDs.

Change-Id: I240d68eddec871794ed98b7ce67773114ee73ff7
This commit is contained in:
daniel 2018-01-29 19:43:11 -08:00
parent f673cfd18a
commit d2a4d614fc
2 changed files with 8 additions and 18 deletions

View file

@ -1484,29 +1484,13 @@ class RevisionStore implements IDBAccessObject, RevisionFactory, RevisionLookup
* @throws MWException
*/
private function checkDatabaseWikiId( IDatabase $db ) {
$storeWiki = $this->wikiId;
$storeWiki = $this->loadBalancer->getLocalDomainID();
$dbWiki = $db->getDomainID();
if ( $dbWiki === $storeWiki ) {
return;
}
// XXX: we really want the default database ID...
$storeWiki = $storeWiki ?: wfWikiID();
$dbWiki = $dbWiki ?: wfWikiID();
if ( $dbWiki === $storeWiki ) {
return;
}
// HACK: counteract encoding imposed by DatabaseDomain
$storeWiki = str_replace( '?h', '-', $storeWiki );
$dbWiki = str_replace( '?h', '-', $dbWiki );
if ( $dbWiki === $storeWiki ) {
return;
}
throw new MWException( "RevisionStore for $storeWiki "
. "cannot be used with a DB connection for $dbWiki" );
}

View file

@ -22,6 +22,7 @@ use TestUserRegistry;
use Title;
use WANObjectCache;
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\DatabaseDomain;
use Wikimedia\Rdbms\DatabaseSqlite;
use Wikimedia\Rdbms\FakeResultWrapper;
use Wikimedia\Rdbms\LoadBalancer;
@ -40,7 +41,12 @@ class RevisionStoreDbTest extends MediaWikiTestCase {
private function getLoadBalancerMock( array $server ) {
$lb = $this->getMockBuilder( LoadBalancer::class )
->setMethods( [ 'reallyOpenConnection' ] )
->setConstructorArgs( [ [ 'servers' => [ $server ] ] ] )
->setConstructorArgs( [ [
'servers' => [ $server ],
'localDomain' => new DatabaseDomain(
$server['dbname'], null, $server['tablePrefix']
),
] ] )
->getMock();
$lb->method( 'reallyOpenConnection' )->willReturnCallback(