<?php
use Psr\Log\LoggerInterface;
-use Wikimedia\Rdbms\LoadBalancer;
+use Wikimedia\Rdbms\ILoadBalancer;
/**
* @since 1.31
private $doUpdates;
/**
- * @var LoadBalancer
+ * @var ILoadBalancer
*/
private $loadBalancer;
/**
* @param bool $doUpdates
* @param LoggerInterface $logger
- * @param LoadBalancer $loadBalancer
+ * @param ILoadBalancer $loadBalancer
*/
public function __construct(
$doUpdates,
LoggerInterface $logger,
- LoadBalancer $loadBalancer
+ ILoadBalancer $loadBalancer
) {
$this->doUpdates = $doUpdates;
$this->logger = $logger;
// Note: sha1 has been in XML dumps since 2012. If you have an
// older dump, the duplicate detection here won't work.
- $prior = $dbw->selectField( 'revision', '1',
- [ 'rev_page' => $pageId,
+ if ( $importableRevision->getSha1Base36() !== false ) {
+ $prior = $dbw->selectField( 'revision', '1',
+ [ 'rev_page' => $pageId,
'rev_timestamp' => $dbw->timestamp( $importableRevision->getTimestamp() ),
'rev_sha1' => $importableRevision->getSha1Base36() ],
- __METHOD__
- );
- if ( $prior ) {
- // @todo FIXME: This could fail slightly for multiple matches :P
- $this->logger->debug( __METHOD__ . ": skipping existing revision for [[" .
- $importableRevision->getTitle()->getPrefixedText() . "]], timestamp " .
- $importableRevision->getTimestamp() . "\n" );
- return false;
+ __METHOD__
+ );
+ if ( $prior ) {
+ // @todo FIXME: This could fail slightly for multiple matches :P
+ $this->logger->debug( __METHOD__ . ": skipping existing revision for [[" .
+ $importableRevision->getTitle()->getPrefixedText() . "]], timestamp " .
+ $importableRevision->getTimestamp() . "\n" );
+ return false;
+ }
}
}