Addshore has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/401736 )
Change subject: WIP DNM MCR RevisionStore::checkDatabaseWikiId use DatabaseDomain ...................................................................... WIP DNM MCR RevisionStore::checkDatabaseWikiId use DatabaseDomain This still doesn't work for the case in T183914 as the dbname includes a - and wfSplitWikiID splits this off assuming it is a prefix.. > var_dump(wfSplitWikiID(wfWikiID())); array(2) { [0] => string(12) "s53402__wmde" [1] => string(8) "uca-test" } We can not comapre a wikiId with a dbDomainId here. So convert any wikiIds to dbDomainIds before comapring. Bug: T183914 Change-Id: I45a151a332145438c484e02bbe96cd85dd602b9e --- M includes/Storage/RevisionStore.php 1 file changed, 16 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/36/401736/3 diff --git a/includes/Storage/RevisionStore.php b/includes/Storage/RevisionStore.php index ce56efc..8587148 100644 --- a/includes/Storage/RevisionStore.php +++ b/includes/Storage/RevisionStore.php @@ -49,6 +49,7 @@ use WANObjectCache; use Wikimedia\Assert\Assert; use Wikimedia\Rdbms\Database; +use Wikimedia\Rdbms\DatabaseDomain; use Wikimedia\Rdbms\DBConnRef; use Wikimedia\Rdbms\IDatabase; use Wikimedia\Rdbms\LoadBalancer; @@ -1465,21 +1466,25 @@ * @throws MWException */ private function checkDatabaseWikiId( IDatabase $db ) { - $storeWiki = $this->wikiId; - $dbWiki = $db->getDomainID(); + $dbDomainId = $db->getDomainID(); - if ( $dbWiki === $storeWiki ) { + if ( $this->wikiId ) { + $wikiId = $this->wikiId; + } else { + // XXX: we really want the default database ID... + $wikiId = wfWikiID(); + } + + list( $storeDbName, $storeDbPrefix ) = wfSplitWikiID( $wikiId ); + + $storeDomain = new DatabaseDomain( $storeDbName, null, $storeDbPrefix ); + $storeDomainId = $storeDomain->getId(); + if ( $storeDomainId === $dbDomainId ) { return; } - // XXX: we really want the default database ID... - $storeWiki = $storeWiki ?: wfWikiID(); - $dbWiki = $dbWiki ?: wfWikiID(); - - if ( $dbWiki !== $storeWiki ) { - throw new MWException( "RevisionStore for $storeWiki " - . "cannot be used with a DB connection for $dbWiki" ); - } + throw new MWException( "RevisionStore for $storeDomainId " + . "cannot be used with a DB connection for $dbDomainId" ); } /** -- To view, visit https://gerrit.wikimedia.org/r/401736 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I45a151a332145438c484e02bbe96cd85dd602b9e Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits