ar_user, etc. * * @return RevisionRecord */ public function newRevisionFromArchiveRow( $row, $queryFlags = IDBAccessObject::READ_NORMAL, ?PageIdentity $page = null, array $overrides = [] ); /** * Return the tables, fields, and join conditions to be selected to create * a new RevisionArchiveRecord object. * * @since 1.37, since 1.31 on RevisionStore * @deprecated since 1.41 use RevisionStore::newArchiveSelectQueryBuilder() instead. * * @return 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` * @phan-return array{tables:string[],fields:string[],joins:array} */ public function getArchiveQueryInfo(); /** * Return the tables, fields, and join conditions to be selected to create * a new RevisionStoreRecord object. * * MCR migration note: this replaced Revision::getQueryInfo * * If the format of fields returned changes in any way then the cache key provided by * self::getRevisionRowCacheKey should be updated. * * @since 1.37, since 1.31 on RevisionStore * @deprecated since 1.41 use RevisionStore::newSelectQueryBuilder() instead. * * @param array $options Any combination of the following strings * - 'page': Join with the page table, and select fields to identify the page * - 'user': Join with the user table, and select the user name * * @return 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` * @phan-return array{tables:string[],fields:string[],joins:array} */ public function getQueryInfo( $options = [] ); /** * Return a SelectQueryBuilder to allow querying revision store * * @since 1.41 * * @param IReadableDatabase $dbr A db object to do the query on. * * @return RevisionSelectQueryBuilder */ public function newSelectQueryBuilder( IReadableDatabase $dbr ): RevisionSelectQueryBuilder; /** * Return a SelectQueryBuilder to allow querying archive table * * @since 1.41 * * @param IReadableDatabase $dbr A db object to do the query on. * * @return ArchiveSelectQueryBuilder */ public function newArchiveSelectQueryBuilder( IReadableDatabase $dbr ): ArchiveSelectQueryBuilder; /** * Determine whether the parameter is a row containing all the fields * that RevisionFactory needs to create a RevisionRecord from the row. * * @param mixed $row * @param string $table 'archive' or empty * @return bool */ public function isRevisionRow( $row, string $table = '' ); }