* transactions are done here.
*
* @param array $params Associative array of parameters. Members are:
- * value: The integer value to set the visibility to
+ * value: ExtractBitParams() bitfield array
* comment: The log comment.
* perItemStatus: Set if you want per-item status reports
* @return Status
$comment = $params['comment'];
$perItemStatus = isset( $params['perItemStatus'] ) ? $params['perItemStatus'] : false;
- $this->res = false;
+ // CAS-style checks are done on the _deleted fields so the select
+ // does not need to use FOR UPDATE nor be in the atomic section
$dbw = wfGetDB( DB_MASTER );
- $this->doQuery( $dbw );
+ $this->res = $this->doQuery( $dbw );
+
$dbw->startAtomic( __METHOD__ );
+
$status = Status::newGood();
$missing = array_flip( $this->ids );
$this->clearFileOps();
// @codingStandardsIgnoreStart Generic.CodeAnalysis.ForLoopWithTestFunctionCall.NotAllowed
for ( $this->reset(); $this->current(); $this->next() ) {
// @codingStandardsIgnoreEnd
+ /** @var $item RevDelItem */
$item = $this->current();
unset( $missing[$item->getId()] );
}
// Log it
+ // @FIXME: $newBits/$oldBits set in for loop, makes IDE warnings too
$this->updateLog( array(
'title' => $this->title,
'count' => $successCount,
if ( !$field ) {
throw new MWException( "Bad log URL param type!" );
}
- // Put things hidden from sysops in the oversight log
+ // Put things hidden from sysops in the suppression log
if ( ( $params['newBits'] | $params['oldBits'] ) & $this->getSuppressBit() ) {
$logType = 'suppress';
} else {