From: Joerg Date: Tue, 27 May 2014 13:37:09 +0000 (-0400) Subject: Add ar_text to the list from Revision::selectArchiveFields(). It is checked later. X-Git-Tag: 1.31.0-rc.0~15573^2 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=90302be47528450793d2c20de2926fd68cf20d95;p=lhc%2Fweb%2Fwiklou.git 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 --- 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',