Merge "Http::getProxy() method to get proxy configuration"
[lhc/web/wiklou.git] / includes / db / loadbalancer / LBFactorySingle.php
index a41dadf..79ca3a7 100644 (file)
@@ -33,7 +33,12 @@ class LBFactorySingle extends LBFactory {
         *  - connection: The DatabaseBase connection object
         */
        public function __construct( array $conf ) {
-               $this->lb = new LoadBalancerSingle( $conf );
+               parent::__construct( $conf );
+
+               $this->lb = new LoadBalancerSingle( [
+                       'readOnlyReason' => $this->readOnlyReason,
+                       'trxProfiler' => $this->trxProfiler
+               ] + $conf );
        }
 
        /**
@@ -74,8 +79,8 @@ class LBFactorySingle extends LBFactory {
         * @param string|callable $callback
         * @param array $params
         */
-       public function forEachLB( $callback, array $params = array() ) {
-               call_user_func_array( $callback, array_merge( array( $this->lb ), $params ) );
+       public function forEachLB( $callback, array $params = [] ) {
+               call_user_func_array( $callback, array_merge( [ $this->lb ], $params ) );
        }
 }
 
@@ -91,12 +96,22 @@ class LoadBalancerSingle extends LoadBalancer {
         */
        public function __construct( array $params ) {
                $this->db = $params['connection'];
-               parent::__construct( array( 'servers' => array( array(
-                       'type' => $this->db->getType(),
-                       'host' => $this->db->getServer(),
-                       'dbname' => $this->db->getDBname(),
-                       'load' => 1,
-               ) ) ) );
+
+               parent::__construct( [
+                       'servers' => [
+                               [
+                                       'type' => $this->db->getType(),
+                                       'host' => $this->db->getServer(),
+                                       'dbname' => $this->db->getDBname(),
+                                       'load' => 1,
+                               ]
+                       ],
+                       'trxProfiler' => $this->trxProfiler
+               ] );
+
+               if ( isset( $params['readOnlyReason'] ) ) {
+                       $this->db->setLBInfo( 'readOnlyReason', $params['readOnlyReason'] );
+               }
        }
 
        /**