Remove workaround for comparing database domain IDs.
Change-Id: I240d68eddec871794ed98b7ce67773114ee73ff7
This commit is contained in:
parent
f673cfd18a
commit
d2a4d614fc
2 changed files with 8 additions and 18 deletions
|
|
@ -1484,29 +1484,13 @@ class RevisionStore implements IDBAccessObject, RevisionFactory, RevisionLookup
|
||||||
* @throws MWException
|
* @throws MWException
|
||||||
*/
|
*/
|
||||||
private function checkDatabaseWikiId( IDatabase $db ) {
|
private function checkDatabaseWikiId( IDatabase $db ) {
|
||||||
$storeWiki = $this->wikiId;
|
$storeWiki = $this->loadBalancer->getLocalDomainID();
|
||||||
$dbWiki = $db->getDomainID();
|
$dbWiki = $db->getDomainID();
|
||||||
|
|
||||||
if ( $dbWiki === $storeWiki ) {
|
if ( $dbWiki === $storeWiki ) {
|
||||||
return;
|
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 "
|
throw new MWException( "RevisionStore for $storeWiki "
|
||||||
. "cannot be used with a DB connection for $dbWiki" );
|
. "cannot be used with a DB connection for $dbWiki" );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ use TestUserRegistry;
|
||||||
use Title;
|
use Title;
|
||||||
use WANObjectCache;
|
use WANObjectCache;
|
||||||
use Wikimedia\Rdbms\Database;
|
use Wikimedia\Rdbms\Database;
|
||||||
|
use Wikimedia\Rdbms\DatabaseDomain;
|
||||||
use Wikimedia\Rdbms\DatabaseSqlite;
|
use Wikimedia\Rdbms\DatabaseSqlite;
|
||||||
use Wikimedia\Rdbms\FakeResultWrapper;
|
use Wikimedia\Rdbms\FakeResultWrapper;
|
||||||
use Wikimedia\Rdbms\LoadBalancer;
|
use Wikimedia\Rdbms\LoadBalancer;
|
||||||
|
|
@ -40,7 +41,12 @@ class RevisionStoreDbTest extends MediaWikiTestCase {
|
||||||
private function getLoadBalancerMock( array $server ) {
|
private function getLoadBalancerMock( array $server ) {
|
||||||
$lb = $this->getMockBuilder( LoadBalancer::class )
|
$lb = $this->getMockBuilder( LoadBalancer::class )
|
||||||
->setMethods( [ 'reallyOpenConnection' ] )
|
->setMethods( [ 'reallyOpenConnection' ] )
|
||||||
->setConstructorArgs( [ [ 'servers' => [ $server ] ] ] )
|
->setConstructorArgs( [ [
|
||||||
|
'servers' => [ $server ],
|
||||||
|
'localDomain' => new DatabaseDomain(
|
||||||
|
$server['dbname'], null, $server['tablePrefix']
|
||||||
|
),
|
||||||
|
] ] )
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|
||||||
$lb->method( 'reallyOpenConnection' )->willReturnCallback(
|
$lb->method( 'reallyOpenConnection' )->willReturnCallback(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue