MediaWiki master
MediaWiki\User\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...

Inherits MediaWiki\User\ActorMigrationBase.

Collaboration diagram for MediaWiki\User\ActorMigration:

Public Member Functions

 __construct (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()

 
 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 (IReadableDatabase $db, $key, $users, $useId=true)
 Get WHERE condition for the actor.
Parameters
IReadableDatabase$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 MediaWiki\User\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.
 
 setForImport (bool $forImport)
 

Static Public Member Functions

static newMigration ()
 Static constructor.
 
static newMigrationForImport ()
 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 MediaWiki\User\ActorMigrationBase
 checkDeprecation ( $key)
 Issue deprecation warning/error as appropriate.
 
 getActorNormalization ( $domainId)
 
 getFieldInfo ( $key)
 Get config information about a field.
 
 getInstanceName ()
 Get a name for this instance to use in error messages.
 
- Protected Attributes inherited from MediaWiki\User\ActorMigrationBase
ActorStoreFactory $actorStoreFactory
 

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 19 of file ActorMigration.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\User\ActorMigration::__construct ( ActorStoreFactory $actorStoreFactory)
Access: internal
Parameters
ActorStoreFactory$actorStoreFactory

Definition at line 60 of file ActorMigration.php.

References MediaWiki\User\ActorMigrationBase\$actorStoreFactory, and SCHEMA_COMPAT_NEW.

Member Function Documentation

◆ getInsertValues()

MediaWiki\User\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 MediaWiki\User\ActorMigrationBase.

Definition at line 94 of file ActorMigration.php.

◆ getJoin()

MediaWiki\User\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 MediaWiki\User\ActorMigrationBase.

Definition at line 73 of file ActorMigration.php.

◆ getWhere()

MediaWiki\User\ActorMigration::getWhere ( IReadableDatabase $db,
$key,
$users,
$useId = true )

Get WHERE condition for the actor.

Parameters
IReadableDatabase$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 MediaWiki\User\ActorMigrationBase.

Definition at line 84 of file ActorMigration.php.

◆ newMigration()

static MediaWiki\User\ActorMigration::newMigration ( )
static

Static constructor.

Returns
self

Definition at line 39 of file ActorMigration.php.

References MediaWiki\MediaWikiServices\getInstance().

◆ newMigrationForImport()

static MediaWiki\User\ActorMigration::newMigrationForImport ( )
static

Static constructor.

Returns
self

Reimplemented from MediaWiki\User\ActorMigrationBase.

Definition at line 47 of file ActorMigration.php.

References MediaWiki\MediaWikiServices\getInstance().

Member Data Documentation

◆ FIELD_INFOS

const MediaWiki\User\ActorMigration::FIELD_INFOS
Initial value:
= [
'rev_user' => [],
]

Field information.

See also
ActorMigrationBase::getFieldInfo()

Definition at line 30 of file ActorMigration.php.

◆ MIGRATION_STAGE_SCHEMA_COMPAT

const MediaWiki\User\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 24 of file ActorMigration.php.


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