Merge "Make DBAccessBase use DBConnRef, rename $wiki, and hide getLoadBalancer()"
[lhc/web/wiklou.git] / includes / libs / rdbms / lbfactory / LBFactorySingle.php
index 2c1a782..97daf10 100644 (file)
@@ -44,8 +44,12 @@ class LBFactorySingle extends LBFactory {
                        throw new InvalidArgumentException( "Missing 'connection' argument." );
                }
 
-               $lb = new LoadBalancerSingle( array_merge( $this->baseLoadBalancerParams(), $conf ) );
+               $lb = new LoadBalancerSingle( array_merge(
+                       $this->baseLoadBalancerParams( $this->getOwnershipId() ),
+                       $conf
+               ) );
                $this->initLoadBalancer( $lb );
+
                $this->lb = $lb;
        }
 
@@ -56,26 +60,22 @@ class LBFactorySingle extends LBFactory {
         * @since 1.28
         */
        public static function newFromConnection( IDatabase $db, array $params = [] ) {
-               return new static( [ 'connection' => $db ] + $params );
+               return new static( array_merge(
+                       [ 'localDomain' => $db->getDomainID() ],
+                       $params,
+                       [ 'connection' => $db ]
+               ) );
        }
 
-       /**
-        * @param bool|string $domain (unused)
-        * @return LoadBalancerSingle
-        */
-       public function newMainLB( $domain = false ) {
-               return $this->lb;
+       public function newMainLB( $domain = false, $owner = null ) {
+               throw new BadMethodCallException( "Method is not supported." );
        }
 
-       /**
-        * @param bool|string $domain (unused)
-        * @return LoadBalancerSingle
-        */
        public function getMainLB( $domain = false ) {
                return $this->lb;
        }
 
-       public function newExternalLB( $cluster ) {
+       public function newExternalLB( $cluster, $owner = null ) {
                throw new BadMethodCallException( "Method is not supported." );
        }
 
@@ -83,24 +83,14 @@ class LBFactorySingle extends LBFactory {
                throw new BadMethodCallException( "Method is not supported." );
        }
 
-       /**
-        * @return LoadBalancerSingle[] Map of (cluster name => LoadBalancer)
-        */
        public function getAllMainLBs() {
                return [ 'DEFAULT' => $this->lb ];
        }
 
-       /**
-        * @return LoadBalancerSingle[] Map of (cluster name => LoadBalancer)
-        */
        public function getAllExternalLBs() {
                return [];
        }
 
-       /**
-        * @param string|callable $callback
-        * @param array $params
-        */
        public function forEachLB( $callback, array $params = [] ) {
                if ( isset( $this->lb ) ) { // may not be set during _destruct()
                        $callback( $this->lb, ...$params );