* @copyright © 2013 Wikimedia Foundation Inc.
*/
-use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
use Wikimedia\Rdbms\IMaintainableDatabase;
use Wikimedia\Rdbms\LBFactory;
use Wikimedia\Rdbms\LBFactoryMulti;
use Wikimedia\Rdbms\LoadBalancer;
use Wikimedia\Rdbms\ChronologyProtector;
-use Wikimedia\Rdbms\DatabaseMysqli;
use Wikimedia\Rdbms\MySQLMasterPos;
use Wikimedia\Rdbms\DatabaseDomain;
* @dataProvider getLBFactoryClassProvider
*/
public function testGetLBFactoryClass( $expected, $deprecated ) {
- $mockDB = $this->getMockBuilder( DatabaseMysqli::class )
+ $mockDB = $this->getMockBuilder( IDatabase::class )
->disableOriginalConstructor()
->getMock();
$m2Pos = new MySQLMasterPos( 'db1064-bin.002400/794074907', $now );
// Master DB 1
- $mockDB1 = $this->getMockBuilder( DatabaseMysqli::class )
+ $mockDB1 = $this->getMockBuilder( IDatabase::class )
->disableOriginalConstructor()
->getMock();
$mockDB1->method( 'writesOrCallbacksPending' )->willReturn( true );
$lb1->method( 'getMasterPos' )->willReturn( $m1Pos );
$lb1->method( 'getServerName' )->with( 0 )->willReturn( 'master1' );
// Master DB 2
- $mockDB2 = $this->getMockBuilder( DatabaseMysqli::class )
+ $mockDB2 = $this->getMockBuilder( IDatabase::class )
->disableOriginalConstructor()
->getMock();
$mockDB2->method( 'writesOrCallbacksPending' )->willReturn( true );
[
'ip' => '127.0.0.1',
'agent' => "Totally-Not-FireFox"
- ]
+ ],
+ null
);
$mockDB1->expects( $this->exactly( 1 ) )->method( 'writesOrCallbacksPending' );
$mockDB2->expects( $this->exactly( 1 ) )->method( 'lastDoneWrites' );
// Nothing to wait for on first HTTP request start
- $cp->initLB( $lb1 );
- $cp->initLB( $lb2 );
+ $cp->applySessionReplicationPosition( $lb1 );
+ $cp->applySessionReplicationPosition( $lb2 );
// Record positions in stash on first HTTP request end
- $cp->shutdownLB( $lb1 );
- $cp->shutdownLB( $lb2 );
+ $cp->storeSessionReplicationPosition( $lb1 );
+ $cp->storeSessionReplicationPosition( $lb2 );
$cpIndex = null;
$cp->shutdown( null, 'sync', $cpIndex );
);
// Wait for last positions to be reached on second HTTP request start
- $cp->initLB( $lb1 );
- $cp->initLB( $lb2 );
+ $cp->applySessionReplicationPosition( $lb1 );
+ $cp->applySessionReplicationPosition( $lb2 );
// Shutdown (nothing to record)
- $cp->shutdownLB( $lb1 );
- $cp->shutdownLB( $lb2 );
+ $cp->storeSessionReplicationPosition( $lb1 );
+ $cp->storeSessionReplicationPosition( $lb2 );
$cpIndex = null;
$cp->shutdown( null, 'sync', $cpIndex );
);
unset( $conn1 );
- $factory->redefineLocalDomain( 'somedb-prefix' );
- $this->assertEquals( 'somedb-prefix', $factory->getLocalDomainID() );
+ $factory->redefineLocalDomain( 'somedb-prefix_' );
+ $this->assertEquals( 'somedb-prefix_', $factory->getLocalDomainID() );
- $domain = new DatabaseDomain( $wgDBname, null, 'pref' );
+ $domain = new DatabaseDomain( $wgDBname, null, 'pref_' );
$factory->redefineLocalDomain( $domain );
$n = 0;
$factory->destroy();
}
- private function quoteTable( Database $db, $table ) {
+ private function quoteTable( IDatabase $db, $table ) {
if ( $db->getType() === 'sqlite' ) {
return $table;
} else {