Aaron Schulz has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/404060 )

Change subject: rdbms: add LoadBalancer::getLocalDomainId() method
......................................................................

rdbms: add LoadBalancer::getLocalDomainId() method

This returns the default domain without getting a connection

Change-Id: I351d42de38b3126222c5a40627a2a12f76a60939
---
M includes/libs/rdbms/loadbalancer/LoadBalancer.php
M tests/phpunit/includes/db/LoadBalancerTest.php
2 files changed, 20 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/60/404060/1

diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php 
b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
index a75dc4d..e80b952 100644
--- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
+++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
@@ -243,6 +243,17 @@
        }
 
        /**
+        * Get the local (and default) database domain ID of connection handles
+        *
+        * @see DatabaseDomain
+        * @return string Database domain ID; this specifies DB name, schema, 
and table prefix
+        * @since 1.31
+        */
+       public function getLocalDomainID() {
+               return $this->localDomain->getId();
+       }
+
+       /**
         * Get a LoadMonitor instance
         *
         * @return ILoadMonitor
diff --git a/tests/phpunit/includes/db/LoadBalancerTest.php 
b/tests/phpunit/includes/db/LoadBalancerTest.php
index 5fd33dc..335d0d2 100644
--- a/tests/phpunit/includes/db/LoadBalancerTest.php
+++ b/tests/phpunit/includes/db/LoadBalancerTest.php
@@ -3,6 +3,7 @@
 use Wikimedia\Rdbms\DBError;
 use Wikimedia\Rdbms\IDatabase;
 use Wikimedia\Rdbms\LoadBalancer;
+use Wikimedia\Rdbms\DatabaseDomain;
 
 /**
  * Holds tests for LoadBalancer MediaWiki class.
@@ -29,11 +30,13 @@
  */
 class LoadBalancerTest extends MediaWikiTestCase {
        public function testWithoutReplica() {
-               global $wgDBserver, $wgDBname, $wgDBuser, $wgDBpassword, 
$wgDBtype, $wgSQLiteDataDir;
+               global $wgDBserver, $wgDBname, $wgDBprefix, $wgDBuser, 
$wgDBpassword, $wgDBtype;
+               global $wgSQLiteDataDir;
 
                $servers = [
                        [
                                'host'        => $wgDBserver,
+                               'tablePrefix' => $wgDBprefix,
                                'dbname'      => $wgDBname,
                                'user'        => $wgDBuser,
                                'password'    => $wgDBpassword,
@@ -46,9 +49,13 @@
 
                $lb = new LoadBalancer( [
                        'servers' => $servers,
-                       'localDomain' => wfWikiID()
+                       'localDomain' => new DatabaseDomain( $wgDBname, null, 
$wgDBprefix )
                ] );
 
+               $ld = DatabaseDomain::newFromId( $lb->getLocalDomainID() );
+               $this->assertEquals( $wgDBname, $ld->getDatabase(), 'local 
domain DB set' );
+               $this->assertEquals( $wgDBprefix, $ld->getTablePrefix(), 'local 
domain prefix set' );
+
                $dbw = $lb->getConnection( DB_MASTER );
                $this->assertTrue( $dbw->getLBInfo( 'master' ), 'master shows 
as master' );
                $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX set 
on master" );

-- 
To view, visit https://gerrit.wikimedia.org/r/404060
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I351d42de38b3126222c5a40627a2a12f76a60939
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to