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