rev_text_id = (string)$rev->getTextId(); return $row; } public function provideGetArchiveQueryInfo() { yield [ [ 'tables' => [ 'archive' ], 'fields' => array_merge( $this->getDefaultArchiveFields(), [ 'ar_comment_text' => 'ar_comment', 'ar_comment_data' => 'NULL', 'ar_comment_cid' => 'NULL', 'ar_user_text' => 'ar_user_text', 'ar_user' => 'ar_user', 'ar_actor' => 'NULL', ] ), 'joins' => [], ] ]; } public function provideGetQueryInfo() { yield [ [], [ 'tables' => [ 'revision' ], 'fields' => array_merge( $this->getDefaultQueryFields(), $this->getCommentQueryFields(), $this->getActorQueryFields() ), 'joins' => [], ] ]; yield [ [ 'page' ], [ 'tables' => [ 'revision', 'page' ], 'fields' => array_merge( $this->getDefaultQueryFields(), $this->getCommentQueryFields(), $this->getActorQueryFields(), [ 'page_namespace', 'page_title', 'page_id', 'page_latest', 'page_is_redirect', 'page_len', ] ), 'joins' => [ 'page' => [ 'INNER JOIN', [ 'page_id = rev_page' ] ], ], ] ]; yield [ [ 'user' ], [ 'tables' => [ 'revision', 'user' ], 'fields' => array_merge( $this->getDefaultQueryFields(), $this->getCommentQueryFields(), $this->getActorQueryFields(), [ 'user_name', ] ), 'joins' => [ 'user' => [ 'LEFT JOIN', [ 'rev_user != 0', 'user_id = rev_user' ] ], ], ] ]; yield [ [ 'text' ], [ 'tables' => [ 'revision', 'text' ], 'fields' => array_merge( $this->getDefaultQueryFields(), $this->getCommentQueryFields(), $this->getActorQueryFields(), [ 'old_text', 'old_flags', ] ), 'joins' => [ 'text' => [ 'INNER JOIN', [ 'rev_text_id=old_id' ] ], ], ] ]; } public function provideGetSlotsQueryInfo() { $db = wfGetDB( DB_REPLICA ); yield [ [], [ 'tables' => [ 'slots' => 'revision', ], 'fields' => array_merge( [ 'slot_revision_id' => 'slots.rev_id', 'slot_content_id' => 'NULL', 'slot_origin' => 'slots.rev_id', 'role_name' => $db->addQuotes( 'main' ), ] ), 'joins' => [], ] ]; yield [ [ 'content' ], [ 'tables' => [ 'slots' => 'revision', ], 'fields' => array_merge( [ 'slot_revision_id' => 'slots.rev_id', 'slot_content_id' => 'NULL', 'slot_origin' => 'slots.rev_id', 'role_name' => $db->addQuotes( 'main' ), 'content_size' => 'slots.rev_len', 'content_sha1' => 'slots.rev_sha1', 'content_address' => $db->buildConcat( [ $db->addQuotes( 'tt:' ), 'slots.rev_text_id' ] ), 'model_name' => 'NULL', ] ), 'joins' => [], ] ]; } public function provideNewMutableRevisionFromArray() { foreach ( parent::provideNewMutableRevisionFromArray() as $case ) { yield $case; } yield 'Basic array, with page & id' => [ [ 'id' => 2, 'page' => 1, 'text_id' => 2, 'timestamp' => '20171017114835', 'user_text' => '111.0.1.2', 'user' => 0, 'minor_edit' => false, 'deleted' => 0, 'len' => 46, 'parent_id' => 1, 'sha1' => 'rdqbbzs3pkhihgbs8qf2q9jsvheag5z', 'comment' => 'Goat Comment!', ] ]; } }