MediaWiki  1.34.0
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, $params=null)
 
 allowRetries ()
 
 getDeduplicationInfo ()
 Subclasses may need to override this to make duplication detection work. More...
 
 getLastError ()
 
 getMetadata ( $field=null)
 
 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 ()
 
 setMetadata ( $field, $value)
 
 teardown ( $status)
 
 toString ()
 
 workItemCount ()
 
- Public Member Functions inherited from RunnableJob
 tearDown ( $status)
 Do any final cleanup after run(), deferred updates, and all DB commits happen. More...
 

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, $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 = false
 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

Implements RunnableJob.

Definition at line 45 of file RenameUserJob.php.

References $wgUpdateRowsPerQuery, RenameuserSQL\actorMigrationWriteOld(), DB_MASTER, 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: