require_once __DIR__ . '/backup.inc';
require_once __DIR__ . '/../includes/export/WikiExporter.php';
+use Wikimedia\Rdbms\IMaintainableDatabase;
+
/**
* @ingroup Maintenance
*/
class TextPassDumper extends BackupDumper {
+ /** @var BaseDump */
public $prefetch = null;
+ /** @var string|bool */
+ private $thisPage;
+ /** @var string|bool */
+ private $thisRev;
// when we spend more than maxTimeAllowed seconds on this run, we continue
// processing until we write out the next complete page, then save output file(s),
protected $checkpointFiles = [];
/**
- * @var Database
+ * @var IMaintainableDatabase
*/
protected $db;
// We do /not/ retry upon failure, but delegate to encapsulating logic, to avoid
// individually retrying at different layers of code.
- // 1. The LoadBalancer.
try {
$this->lb = wfGetLBFactory()->newMainLB();
} catch ( Exception $e ) {
. " rotating DB failed to obtain new load balancer (" . $e->getMessage() . ")" );
}
- // 2. The Connection, through the load balancer.
try {
$this->db = $this->lb->getConnection( DB_REPLICA, 'dump' );
} catch ( Exception $e ) {
if ( $text === false && isset( $this->prefetch ) && $prefetchNotTried ) {
$prefetchNotTried = false;
$tryIsPrefetch = true;
- $text = $this->prefetch->prefetch( intval( $this->thisPage ),
- intval( $this->thisRev ) );
+ $text = $this->prefetch->prefetch( (int)$this->thisPage, (int)$this->thisRev );
if ( $text === null ) {
$text = false;