jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/335432 )
Change subject: Avoid joining against page table when finding a page's oldest revision. ...................................................................... Avoid joining against page table when finding a page's oldest revision. Bug: T156537 Change-Id: Ifd27710cada823318ac3662d3c16323eb9a78839 --- M includes/page/WikiPage.php M tests/phpunit/includes/page/WikiPageTest.php 2 files changed, 43 insertions(+), 4 deletions(-) Approvals: jenkins-bot: Verified Kaldari: Looks good to me, approved diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 1c1412a..d9f6f63 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -582,12 +582,10 @@ $row = null; while ( $continue ) { $row = $db->selectRow( - [ 'page', 'revision' ], + [ 'revision' ], $revSelectFields, [ - 'page_namespace' => $this->mTitle->getNamespace(), - 'page_title' => $this->mTitle->getDBkey(), - 'rev_page = page_id' + 'rev_page' => $this->getId() ], __METHOD__, [ diff --git a/tests/phpunit/includes/page/WikiPageTest.php b/tests/phpunit/includes/page/WikiPageTest.php index d32915b..6b911bf 100644 --- a/tests/phpunit/includes/page/WikiPageTest.php +++ b/tests/phpunit/includes/page/WikiPageTest.php @@ -753,6 +753,47 @@ */ /** + * @covers WikiPage::getOldestRevision + */ + public function testGetOldestRevision() { + $page = $this->newPage( "WikiPageTest_testGetOldestRevision" ); + $page->doEditContent( + new WikitextContent( 'one' ), + "first edit", + EDIT_NEW + ); + $rev1 = $page->getRevision(); + + $page = new WikiPage( $page->getTitle() ); + $page->doEditContent( + new WikitextContent( 'two' ), + "second edit", + EDIT_UPDATE + ); + + $page = new WikiPage( $page->getTitle() ); + $page->doEditContent( + new WikitextContent( 'three' ), + "third edit", + EDIT_UPDATE + ); + + // sanity check + $this->assertNotEquals( + $rev1->getId(), + $page->getRevision()->getId(), + '$page->getRevision()->getId()' + ); + + // actual test + $this->assertEquals( + $rev1->getId(), + $page->getOldestRevision()->getId(), + '$page->getOldestRevision()->getId()' + ); + } + + /** * @todo FIXME: this is a better rollback test than the one below, but it * keeps failing in jenkins for some reason. */ -- To view, visit https://gerrit.wikimedia.org/r/335432 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifd27710cada823318ac3662d3c16323eb9a78839 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Daniel Kinzler <daniel.kinz...@wikimedia.de> Gerrit-Reviewer: Aaron Schulz <asch...@wikimedia.org> Gerrit-Reviewer: Jcrespo <jcre...@wikimedia.org> Gerrit-Reviewer: Kaldari <rkald...@wikimedia.org> Gerrit-Reviewer: Legoktm <lego...@member.fsf.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits