require_once __DIR__ . '/Maintenance.php';
+use Wikimedia\Rdbms\IDatabase;
+
/**
* Maintenance script that deletes revisions which refer to a nonexisting page.
*
$res = $dbw->query( $sql, 'deleteOrphanedRevisions' );
# Stash 'em all up for deletion (if needed)
- $revisions = array();
+ $revisions = [];
foreach ( $res as $row ) {
$revisions[] = $row->rev_id;
}
* Do this inside a transaction
*
* @param array $id Array of revision id values
- * @param DatabaseBase $dbw DatabaseBase class (needs to be a master)
+ * @param IDatabase $dbw Master DB handle
*/
private function deleteRevs( $id, &$dbw ) {
if ( !is_array( $id ) ) {
- $id = array( $id );
+ $id = [ $id ];
}
- $dbw->delete( 'revision', array( 'rev_id' => $id ), __METHOD__ );
+ $dbw->delete( 'revision', [ 'rev_id' => $id ], __METHOD__ );
+
+ // Delete from ip_changes should a record exist.
+ $dbw->delete( 'ip_changes', [ 'ipc_rev_id' => $id ], __METHOD__ );
}
}
-$maintClass = "DeleteOrphanedRevisions";
+$maintClass = DeleteOrphanedRevisions::class;
require_once RUN_MAINTENANCE_IF_MAIN;