MediaWiki REL1_39
ActorMigration Class Reference

This is not intended to be a long-term part of MediaWiki; it will be deprecated and removed once actor migration is complete. More...

Inheritance diagram for ActorMigration:
Collaboration diagram for ActorMigration:

Public Member Functions

 __construct ( $stage, ActorStoreFactory $actorStoreFactory)
 
 getInsertValues (IDatabase $dbw, $key, UserIdentity $user)
 Get UPDATE fields for the actor.
Parameters
IDatabase$dbwDatabase to use for creating an actor ID, if necessary
string$keyA key such as "rev_user" identifying the actor field being fetched.
UserIdentity$userUser to set in the update
Returns
array to merge into $values to IDatabase->update() or $a to IDatabase->insert()

 
 getInsertValuesWithTempTable (IDatabase $dbw, $key, UserIdentity $user)
 Get UPDATE fields for the actor.
Parameters
IDatabase$dbwDatabase to use for creating an actor ID, if necessary
string$keyA key such as "rev_user" identifying the actor field being fetched.
UserIdentity$userUser to set in the update
Returns
array with two values:
  • array to merge into $values to IDatabase->update() or $a to IDatabase->insert()
  • callback to call with the primary key for the main table insert and extra fields needed for the temp table.

 
 getJoin ( $key)
 Get SELECT fields and joins for the actor key.
Parameters
string$keyA key such as "rev_user" identifying the actor field being fetched.
Returns
array[] With three keys:
  • tables: (string[]) to include in the $table to IDatabase->select() or SelectQueryBuilder::tables
  • fields: (string[]) to include in the $vars to IDatabase->select() or SelectQueryBuilder::fields
  • joins: (array) to include in the $join_conds to IDatabase->select() or SelectQueryBuilder::joinConds All tables, fields, and joins are aliased, so + is safe to use.

 
 getWhere (IDatabase $db, $key, $users, $useId=true)
 Get WHERE condition for the actor.
Parameters
IDatabase$dbDatabase to use for quoting and list-making
string$keyA key such as "rev_user" identifying the actor field being fetched.
UserIdentity | UserIdentity[] | null | false$usersUsers to test for. Passing null, false, or the empty array will return 'conds' that never match, and an empty array for 'orconds'.
bool$useIdIf false, don't try to query by the user ID. Intended for use with rc_user since it has an index on (rc_user_text,rc_timestamp) but not (rc_user,rc_timestamp).
Returns
array With four keys:
  • tables: (string[]) to include in the $table to IDatabase->select() or SelectQueryBuilder::tables
  • conds: (string) to include in the $cond to IDatabase->select() or SelectQueryBuilder::conds
  • orconds: (array[]) array of alternatives in case a union of multiple queries would be more efficient than a query with OR. May have keys 'actor', 'userid', 'username'. Since 1.32, this is guaranteed to contain just one alternative if $users contains a single user.
  • joins: (array) to include in the $join_conds to IDatabase->select() or SelectQueryBuilder::joinConds All tables and joins are aliased, so + is safe to use.

 
- Public Member Functions inherited from ActorMigrationBase
 __construct ( $fieldInfos, $stage, ActorStoreFactory $actorStoreFactory, $options=[])
 
 isAnon ( $field)
 Return an SQL condition to test if a user field is anonymous.
 
 isNotAnon ( $field)
 Return an SQL condition to test if a user field is non-anonymous.
 

Static Public Member Functions

static newMigration ()
 Static constructor.
 

Public Attributes

const FIELD_INFOS
 Field information.
 
const MIGRATION_STAGE_SCHEMA_COMPAT = 1
 Constant for extensions to feature-test whether $wgActorTableSchemaMigrationStage (in MW <1.34) expects MIGRATION_* or SCHEMA_COMPAT_*.
 

Additional Inherited Members

- Protected Member Functions inherited from ActorMigrationBase
 checkDeprecation ( $key)
 Issue deprecation warning/error as appropriate.
 
 getFieldInfo ( $key)
 Get config information about a field.
 
 getInstanceName ()
 Get a name for this instance to use in error messages.
 

Detailed Description

This is not intended to be a long-term part of MediaWiki; it will be deprecated and removed once actor migration is complete.

Since
1.31
1.34 Use with 'ar_user', 'img_user', 'oi_user', 'fa_user', 'rc_user', 'log_user', and 'ipb_by' is deprecated. Callers should reference the corresponding actor fields directly.
Deprecated:
since 1.39

Definition at line 18 of file ActorMigration.php.

Constructor & Destructor Documentation

◆ __construct()

ActorMigration::__construct (   $stage,
ActorStoreFactory  $actorStoreFactory 
)
Access: internal
Parameters
int$stage
ActorStoreFactory$actorStoreFactory

Definition at line 90 of file ActorMigration.php.

References SCHEMA_COMPAT_OLD.

Member Function Documentation

◆ getInsertValues()

ActorMigration::getInsertValues ( IDatabase  $dbw,
  $key,
UserIdentity  $user 
)

Get UPDATE fields for the actor.

Parameters
IDatabase$dbwDatabase to use for creating an actor ID, if necessary
string$keyA key such as "rev_user" identifying the actor field being fetched.
UserIdentity$userUser to set in the update
Returns
array to merge into $values to IDatabase->update() or $a to IDatabase->insert()

Deprecated:
since 1.39 Use ‘[ ’{table_prefix}_actor' => MediaWikiServices::getInstance() ->getActorNormalization()->acquireActorId( $user, $dbw ) ] E.g. for key=log_user, use[ 'log_actor' => ... ]`

Reimplemented from ActorMigrationBase.

Definition at line 131 of file ActorMigration.php.

◆ getInsertValuesWithTempTable()

ActorMigration::getInsertValuesWithTempTable ( IDatabase  $dbw,
  $key,
UserIdentity  $user 
)

Get UPDATE fields for the actor.

Parameters
IDatabase$dbwDatabase to use for creating an actor ID, if necessary
string$keyA key such as "rev_user" identifying the actor field being fetched.
UserIdentity$userUser to set in the update
Returns
array with two values:
  • array to merge into $values to IDatabase->update() or $a to IDatabase->insert()
  • callback to call with the primary key for the main table insert and extra fields needed for the temp table.

Deprecated:
since 1.39 Use same replacement as getInsertValues().

Reimplemented from ActorMigrationBase.

Definition at line 139 of file ActorMigration.php.

◆ getJoin()

ActorMigration::getJoin (   $key)

Get SELECT fields and joins for the actor key.

Parameters
string$keyA key such as "rev_user" identifying the actor field being fetched.
Returns
array[] With three keys:
  • tables: (string[]) to include in the $table to IDatabase->select() or SelectQueryBuilder::tables
  • fields: (string[]) to include in the $vars to IDatabase->select() or SelectQueryBuilder::fields
  • joins: (array) to include in the $join_conds to IDatabase->select() or SelectQueryBuilder::joinConds All tables, fields, and joins are aliased, so + is safe to use.

Deprecated:
since 1.39 Use {table} JOIN actor ON {table_prefix}_actor = actor_id E.g. for key=rev_user, use revision JOIN actor ON rev_actor = actor_id

Reimplemented from ActorMigrationBase.

Definition at line 110 of file ActorMigration.php.

◆ getWhere()

ActorMigration::getWhere ( IDatabase  $db,
  $key,
  $users,
  $useId = true 
)

Get WHERE condition for the actor.

Parameters
IDatabase$dbDatabase to use for quoting and list-making
string$keyA key such as "rev_user" identifying the actor field being fetched.
UserIdentity | UserIdentity[] | null | false$usersUsers to test for. Passing null, false, or the empty array will return 'conds' that never match, and an empty array for 'orconds'.
bool$useIdIf false, don't try to query by the user ID. Intended for use with rc_user since it has an index on (rc_user_text,rc_timestamp) but not (rc_user,rc_timestamp).
Returns
array With four keys:
  • tables: (string[]) to include in the $table to IDatabase->select() or SelectQueryBuilder::tables
  • conds: (string) to include in the $cond to IDatabase->select() or SelectQueryBuilder::conds
  • orconds: (array[]) array of alternatives in case a union of multiple queries would be more efficient than a query with OR. May have keys 'actor', 'userid', 'username'. Since 1.32, this is guaranteed to contain just one alternative if $users contains a single user.
  • joins: (array) to include in the $join_conds to IDatabase->select() or SelectQueryBuilder::joinConds All tables and joins are aliased, so + is safe to use.

Deprecated:
since 1.39 Use {table_prefix}_actor IN ({list of actor IDs}). E.g. for key=rev_user, use rev_actor IN ({list of actor IDs}). Use MediaWikiServices::getInstance()->getActorNormalization() ->findActorId( $user, $db ) to get the actor ID for a given user.

Reimplemented from ActorMigrationBase.

Definition at line 121 of file ActorMigration.php.

◆ newMigration()

static ActorMigration::newMigration ( )
static

Static constructor.

Returns
self

Definition at line 80 of file ActorMigration.php.

Member Data Documentation

◆ FIELD_INFOS

const ActorMigration::FIELD_INFOS

Field information.

See also
ActorMigrationBase::getFieldInfo()

Definition at line 29 of file ActorMigration.php.

◆ MIGRATION_STAGE_SCHEMA_COMPAT

const ActorMigration::MIGRATION_STAGE_SCHEMA_COMPAT = 1

Constant for extensions to feature-test whether $wgActorTableSchemaMigrationStage (in MW <1.34) expects MIGRATION_* or SCHEMA_COMPAT_*.

Definition at line 23 of file ActorMigration.php.


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