MediaWiki  1.32.5
RenameUserJob Class Reference

Custom job to perform updates on tables in busier environments. More...

Inheritance diagram for RenameUserJob:
Collaboration diagram for RenameUserJob:

Public Member Functions

 __construct (Title $title, $params=[])
 
 run ()
 Run the job. More...
 
- Public Member Functions inherited from Job
 __construct ( $command, $title, $params=false)
 
 allowRetries ()
 
 getDeduplicationInfo ()
 Subclasses may need to override this to make duplication detection work. More...
 
 getLastError ()
 
 getParams ()
 
 getQueuedTimestamp ()
 
 getReadyTimestamp ()
 
 getReleaseTimestamp ()
 
 getRequestId ()
 
 getRootJobParams ()
 
 getTitle ()
 
 getType ()
 
 hasExecutionFlag ( $flag)
 
 hasRootJobParams ()
 
 ignoreDuplicates ()
 Whether the queue should reject insertion of this job if a duplicate exists. More...
 
 isRootJob ()
 
 teardown ( $status)
 Do any final cleanup after run(), deferred updates, and all DB commits happen. More...
 
 toString ()
 
 workItemCount ()
 

Static Private Attributes

static array $actorMigratedColumns
 Core tables+columns that are being migrated to the actor table. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Job
static factory ( $command, Title $title, $params=[])
 Create the appropriate object to handle a specific job. More...
 
static newRootJobParams ( $key)
 Get "root job" parameters for a task. More...
 
- Public Attributes inherited from Job
string $command
 
array $metadata = []
 Additional queue metadata. More...
 
array $params
 Array of job parameters. More...
 
- Protected Member Functions inherited from Job
 addTeardownCallback ( $callback)
 
 setLastError ( $error)
 
- Protected Attributes inherited from Job
string $error
 Text for error that occurred last. More...
 
int $executionFlags = 0
 Bitfield of JOB_* class constants. More...
 
bool $removeDuplicates
 Expensive jobs may set this to true. More...
 
callable[] $teardownCallbacks = []
 
Title $title
 

Detailed Description

Custom job to perform updates on tables in busier environments.

Job parameters include:

  • table : DB table to update
  • column : The *_user_text column to update
  • oldname : The old user name
  • newname : The new user name
  • count : The expected number of rows to update in this batch
  • logId : The ID of the logging table row expected to exist if the rename was committed

Additionally, one of the following groups of parameters must be set: a) The timestamp based rename paramaters:

  • timestampColumn : The *_timestamp column
  • minTimestamp : The minimum bound of the timestamp column range for this batch
  • maxTimestamp : The maximum bound of the timestamp column range for this batch
  • uniqueKey : A column that is unique (preferrably the PRIMARY KEY) [optional] b) The unique key based rename paramaters:
  • uniqueKey : A column that is unique (preferrably the PRIMARY KEY)
  • keyId : A list of values for this column to determine rows to update for this batch

To avoid some race conditions, the following parameters should be set:

  • userID : The ID of the user to update
  • uidColumn : The *_user_id column

Definition at line 28 of file RenameUserJob.php.

Constructor & Destructor Documentation

◆ __construct()

RenameUserJob::__construct ( Title  $title,
  $params = [] 
)

Definition at line 41 of file RenameUserJob.php.

References Job\$params, and Job\$title.

Member Function Documentation

◆ run()

RenameUserJob::run ( )

Run the job.

Returns
bool Success

Reimplemented from Job.

Definition at line 45 of file RenameUserJob.php.

References $batch, $wgUpdateRowsPerQuery, as, DB_MASTER, RenameuserSQL\getActorMigrationStage(), MIGRATION_NEW, wfDebugLog(), wfGetDB(), and wfWaitForSlaves().

Member Data Documentation

◆ $actorMigratedColumns

array RenameUserJob::$actorMigratedColumns
staticprivate
Initial value:
= [
'revision.rev_user_text',
'archive.ar_user_text',
'ipblocks.ipb_by_text',
'image.img_user_text',
'oldimage.oi_user_text',
'filearchive.fa_user_text',
'recentchanges.rc_user_text',
'logging.log_user_text',
]

Core tables+columns that are being migrated to the actor table.

Definition at line 30 of file RenameUserJob.php.


The documentation for this class was generated from the following file: