db = $params['connection']; parent::__construct( [ 'servers' => [ [ 'type' => $this->db->getType(), 'host' => $this->db->getServer(), 'dbname' => $this->db->getDBname(), 'load' => 1, ] ], 'trxProfiler' => isset( $params['trxProfiler'] ) ? $params['trxProfiler'] : null, 'srvCache' => isset( $params['srvCache'] ) ? $params['srvCache'] : null, 'wanCache' => isset( $params['wanCache'] ) ? $params['wanCache'] : null ] ); if ( isset( $params['readOnlyReason'] ) ) { $this->db->setLBInfo( 'readOnlyReason', $params['readOnlyReason'] ); } } /** * @param IDatabase $db Live connection handle * @param array $params Parameter map to LoadBalancerSingle::__constructs() * @return LoadBalancerSingle * @since 1.28 */ public static function newFromConnection( IDatabase $db, array $params = [] ) { return new static( [ 'connection' => $db ] + $params ); } protected function reallyOpenConnection( array $server, $dbNameOverride = false ) { return $this->db; } } class_alias( 'Wikimedia\Rdbms\LoadBalancerSingle', 'LoadBalancerSingle' );