* - 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 );
}
/**
* @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 ) );
}
}
*/
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'] );
+ }
}
/**