From 90302be47528450793d2c20de2926fd68cf20d95 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 27 May 2014 09:37:09 -0400 Subject: [PATCH] Add ar_text to the list from Revision::selectArchiveFields(). It is checked later. See Revision::newFromArchiveRow(). This is called from populateRevisionLength.php's upgradeRow() which ultimately populates $row from the fields returned by Revision::selectArchiveFields(). Revision::newFromArchiveRow() has the following condition: if ( isset( $row->ar_text ) && !$row->ar_text_id ) { And from the bug report: > for old archived revisions, the rows in the archive table do _not_ > contain a pointer to the text in the text table, but that the text > is stored in the archive table directly. Obviously the above code > cannot handle this situation properly. Credit goes to Joerg who found this and figured out the problem. Bug: 65765 Change-Id: Iadcaae5e531d439780f5b6095286df78926ccaa7 --- includes/Revision.php | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/Revision.php b/includes/Revision.php index 86c305764a..a403e37861 100644 --- a/includes/Revision.php +++ b/includes/Revision.php @@ -444,6 +444,7 @@ class Revision implements IDBAccessObject { 'ar_id', 'ar_page_id', 'ar_rev_id', + 'ar_text', 'ar_text_id', 'ar_timestamp', 'ar_comment', -- 2.20.1