*
* @param callable $callable
* @param int $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
- * @param IDatabase|null $dbw Abort if this DB is rolled back [optional] (since 1.28)
+ * @param IDatabase|IDatabase[]|null $dbw Abort if this DB is rolled back [optional] (since 1.28)
*/
public static function addCallableUpdate(
- $callable, $stage = self::POSTSEND, IDatabase $dbw = null
+ $callable, $stage = self::POSTSEND, $dbw = null
) {
self::addUpdate( new MWCallableUpdate( $callable, wfGetCaller(), $dbw ), $stage );
}
if ( $update instanceof MergeableUpdate ) {
$class = get_class( $update ); // fully-qualified class
if ( isset( $queue[$class] ) ) {
- /** @var $existingUpdate MergeableUpdate */
+ /** @var MergeableUpdate $existingUpdate */
$existingUpdate = $queue[$class];
$existingUpdate->merge( $update );
} else {
// Run only the job enqueue logic to complete the update later
$spec = $update->getAsJobSpecification();
JobQueueGroup::singleton( $spec['wiki'] )->push( $spec['job'] );
+ } elseif ( $update instanceof TransactionRoundDefiningUpdate ) {
+ $update->doUpdate();
} else {
// Run the bulk of the update now
$fnameTrxOwner = get_class( $update ) . '::doUpdate';