MediaWiki
master
|
This class handles the logic for the actor table migration and should always be used in lieu of directly accessing database tables. More...
Public Member Functions | |
__construct ( $stage, ActorStoreFactory $actorStoreFactory) | |
getExistingActorId (IDatabase $db, UserIdentity $user) | |
Get actor ID from UserIdentity, if it exists. More... | |
getInsertValues (IDatabase $dbw, $key, UserIdentity $user) | |
Get UPDATE fields for the actor. More... | |
getInsertValuesWithTempTable (IDatabase $dbw, $key, UserIdentity $user) | |
Get UPDATE fields for the actor. More... | |
getJoin ( $key) | |
Get SELECT fields and joins for the actor key. More... | |
getNewActorId (IDatabase $dbw, UserIdentity $user) | |
Attempt to assign an actor ID to the given user. More... | |
getWhere (IDatabase $db, $key, $users, $useId=true) | |
Get WHERE condition for the actor. More... | |
isAnon ( $field) | |
Return an SQL condition to test if a user field is anonymous. More... | |
isNotAnon ( $field) | |
Return an SQL condition to test if a user field is non-anonymous. More... | |
Static Public Member Functions | |
static | newMigration () |
Static constructor. More... | |
Public Attributes | |
const | MIGRATION_STAGE_SCHEMA_COMPAT = 1 |
Constant for extensions to feature-test whether $wgActorTableSchemaMigrationStage (in MW <1.34) expects MIGRATION_* or SCHEMA_COMPAT_*. More... | |
Protected Attributes | |
const | DEPRECATED |
Define fields that are deprecated for use with this class. More... | |
const | FORMER_TEMP_TABLES = [] |
Fields that formerly used TEMP_TABLES Array keys are field names, values are the MediaWiki version when it was removed. More... | |
const | REMOVED = [] |
Define fields that are removed for use with this class. More... | |
const | SPECIAL_FIELDS |
Define fields that use non-standard mapping Array keys are the user id column name, values are arrays with two elements (the user text column name and the actor id column name) More... | |
const | TEMP_TABLES |
Define fields that use temporary tables for transitional purposes Array keys are field names, values are arrays with these possible fields: More... | |
Static Private Member Functions | |
static | checkDeprecation ( $key) |
Issue deprecation warning/error as appropriate. More... | |
static | getFieldNames ( $key) |
Private Attributes | |
ActorStoreFactory | $actorStoreFactory |
array[] | $joinCache = [] |
Cache for self::getJoin() More... | |
int | $stage |
Combination of SCHEMA_COMPAT_* constants. More... | |
This class handles the logic for the actor table migration and should always be used in lieu of directly accessing database tables.
This is not intended to be a long-term part of MediaWiki; it will be deprecated and removed once actor migration is complete.
Definition at line 41 of file ActorMigration.php.
ActorMigration::__construct | ( | $stage, | |
ActorStoreFactory | $actorStoreFactory | ||
) |
int | $stage | |
ActorStoreFactory | $actorStoreFactory |
Definition at line 120 of file ActorMigration.php.
References $actorStoreFactory, $stage, SCHEMA_COMPAT_READ_BOTH, SCHEMA_COMPAT_READ_NEW, SCHEMA_COMPAT_READ_OLD, SCHEMA_COMPAT_WRITE_BOTH, SCHEMA_COMPAT_WRITE_NEW, and SCHEMA_COMPAT_WRITE_OLD.
|
staticprivate |
Issue deprecation warning/error as appropriate.
string | $key |
Definition at line 156 of file ActorMigration.php.
References wfDeprecated().
Referenced by getInsertValues(), getInsertValuesWithTempTable(), getJoin(), and getWhere().
ActorMigration::getExistingActorId | ( | IDatabase | $db, |
UserIdentity | $user | ||
) |
Get actor ID from UserIdentity, if it exists.
IDatabase | $db | |
UserIdentity | $user |
Definition at line 260 of file ActorMigration.php.
References Wikimedia\Rdbms\IDatabase\getDomainID(), and wfDeprecated().
|
staticprivate |
string | $key | A key such as "rev_user" identifying the actor field being fetched. |
Definition at line 190 of file ActorMigration.php.
Referenced by getInsertValues(), getInsertValuesWithTempTable(), getJoin(), and getWhere().
ActorMigration::getInsertValues | ( | IDatabase | $dbw, |
$key, | |||
UserIdentity | $user | ||
) |
Get UPDATE fields for the actor.
IDatabase | $dbw | Database to use for creating an actor ID, if necessary |
string | $key | A key such as "rev_user" identifying the actor field being fetched. |
UserIdentity | $user | User to set in the update |
$values
to IDatabase->update()
or $a
to IDatabase->insert()
Definition at line 303 of file ActorMigration.php.
References checkDeprecation(), Wikimedia\Rdbms\IDatabase\getDomainID(), getFieldNames(), MediaWiki\User\UserIdentity\getId(), MediaWiki\User\UserIdentity\getName(), SCHEMA_COMPAT_WRITE_NEW, and SCHEMA_COMPAT_WRITE_OLD.
ActorMigration::getInsertValuesWithTempTable | ( | IDatabase | $dbw, |
$key, | |||
UserIdentity | $user | ||
) |
Get UPDATE fields for the actor.
IDatabase | $dbw | Database to use for creating an actor ID, if necessary |
string | $key | A key such as "rev_user" identifying the actor field being fetched. |
UserIdentity | $user | User to set in the update |
$values
to IDatabase->update()
or $a
to IDatabase->insert()
Definition at line 336 of file ActorMigration.php.
References $t, checkDeprecation(), Wikimedia\Rdbms\IDatabase\getDomainID(), getFieldNames(), MediaWiki\User\UserIdentity\getId(), MediaWiki\User\UserIdentity\getName(), SCHEMA_COMPAT_WRITE_NEW, SCHEMA_COMPAT_WRITE_OLD, Wikimedia\Rdbms\IDatabase\upsert(), and wfDeprecated().
ActorMigration::getJoin | ( | $key | ) |
Get SELECT fields and joins for the actor key.
string | $key | A key such as "rev_user" identifying the actor field being fetched. |
$table
to IDatabase->select()
$vars
to IDatabase->select()
$join_conds
to IDatabase->select()
All tables, fields, and joins are aliased, so +
is safe to use. Definition at line 206 of file ActorMigration.php.
References $t, checkDeprecation(), getFieldNames(), and SCHEMA_COMPAT_READ_OLD.
ActorMigration::getNewActorId | ( | IDatabase | $dbw, |
UserIdentity | $user | ||
) |
Attempt to assign an actor ID to the given user.
If it is already assigned, return the existing ID.
IDatabase | $dbw | |
UserIdentity | $user |
Definition at line 283 of file ActorMigration.php.
References Wikimedia\Rdbms\IDatabase\getDomainID(), and wfDeprecated().
Get WHERE condition for the actor.
IDatabase | $db | Database to use for quoting and list-making |
string | $key | A key such as "rev_user" identifying the actor field being fetched. |
UserIdentity | UserIdentity[] | null | false | $users | Users to test for. Passing null, false, or the empty array will return 'conds' that never match, and an empty array for 'orconds'. |
bool | $useId | If 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). |
$table
to IDatabase->select()
$cond
to IDatabase->select()
$join_conds
to IDatabase->select()
All tables and joins are aliased, so +
is safe to use. Definition at line 421 of file ActorMigration.php.
References $t, checkDeprecation(), Wikimedia\Rdbms\IDatabase\getDomainID(), getFieldNames(), LIST_AND, LIST_OR, Wikimedia\Rdbms\IDatabase\makeList(), and SCHEMA_COMPAT_READ_NEW.
ActorMigration::isAnon | ( | $field | ) |
Return an SQL condition to test if a user field is anonymous.
string | $field | Field name or SQL fragment |
Definition at line 172 of file ActorMigration.php.
References SCHEMA_COMPAT_READ_NEW.
ActorMigration::isNotAnon | ( | $field | ) |
Return an SQL condition to test if a user field is non-anonymous.
string | $field | Field name or SQL fragment |
Definition at line 181 of file ActorMigration.php.
References SCHEMA_COMPAT_READ_NEW.
|
static |
Static constructor.
Definition at line 148 of file ActorMigration.php.
Referenced by ChangesListSpecialPage\__construct(), WikiPage\archiveRevisions(), SiteStatsUpdate\cacheUpdate(), Orphans\checkOrphans(), WikiPage\commitRollback(), LocalFileDeleteBatch\doDBInserts(), DeduplicateArchiveRevId\doDBUpdates(), PopulateIpChanges\doDBUpdates(), ReassignEdits\doReassignEdits(), WikiExporter\dumpLogs(), ApiQueryBlocks\execute(), ApiQueryContributors\execute(), ApiQueryDeletedrevs\execute(), ApiQueryLogEvents\execute(), LocalFileRestoreBatch\execute(), DeleteDefaultMessages\execute(), FixUserRegistration\execute(), InitEditCount\execute(), ChangesListSpecialPage\filterOnUserExperienceLevel(), WikiPage\getContributors(), EditPage\getLastDelete(), MediaWiki\Block\DatabaseBlock\getQueryInfo(), RecentChange\getQueryInfo(), ArchivedFile\getQueryInfo(), LocalFile\getQueryInfo(), OldLocalFile\getQueryInfo(), RollbackEdits\getRollbackTitles(), DatabaseLogEntry\getSelectQueryData(), WikiRevision\importLogItem(), ManualLogEntry\insert(), RemoveUnusedAccounts\isInactiveAccount(), MediaWiki\Storage\PageEditStash\lastEditTime(), ApiQueryUserContribs\prepareQuery(), RebuildRecentchanges\rebuildRecentChangesTablePass1(), RebuildRecentchanges\rebuildRecentChangesTablePass3(), RebuildRecentchanges\rebuildRecentChangesTablePass4(), OldLocalFile\recordOldUpload(), ApiQueryAllImages\run(), ApiQueryRecentChanges\run(), ApiQueryAllDeletedRevisions\run(), ApiQueryAllRevisions\run(), ApiQueryDeletedRevisions\run(), ApiQueryRevisions\run(), LogPage\saveContent(), and RecentChangesUpdateJob\updateActiveUsers().
|
private |
Definition at line 113 of file ActorMigration.php.
Referenced by __construct().
|
private |
Cache for self::getJoin()
Definition at line 107 of file ActorMigration.php.
|
private |
Combination of SCHEMA_COMPAT_* constants.
Definition at line 110 of file ActorMigration.php.
Referenced by __construct().
|
protected |
Define fields that are deprecated for use with this class.
Array keys are field names, values are null for soft deprecation or a string naming the deprecated version for hard deprecation.
Definition at line 81 of file ActorMigration.php.
|
protected |
Fields that formerly used TEMP_TABLES Array keys are field names, values are the MediaWiki version when it was removed.
Definition at line 74 of file ActorMigration.php.
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 47 of file ActorMigration.php.
|
protected |
Define fields that are removed for use with this class.
Array keys are field names, values are the MediaWiki version in which use was removed.
Definition at line 95 of file ActorMigration.php.
|
protected |
Define fields that use non-standard mapping Array keys are the user id column name, values are arrays with two elements (the user text column name and the actor id column name)
Definition at line 102 of file ActorMigration.php.
|
protected |
Define fields that use temporary tables for transitional purposes Array keys are field names, values are arrays with these possible fields:
Definition at line 57 of file ActorMigration.php.