Ok,
Looking at the structure of things, it looks like the first revision
gets stored as a ConcatenatedGzipHistoryBlob which has all of the
revisions compressed into one, and subsequent revisions are replaced
with Stubs that point to the initial ConcatenatedGzipHistoryBlob
revision.
The problem that I'm having is that there is no initial
ConcatenatedGzipHistoryBlob revision for these problematic histories,
all of the revisions are stubs, which looks like the data was lost for
these affected pages when I ran compressOld.php.
This is not good! We have backups, but it will be a pain to fix. Is
the best way to load the old back up into a separate db and then do
something like
UPDATE current_wiki.text
SET current_wiki.text.old_text = backup_wiki.text.old_text,
current_wiki.text.old_flags = backup_wiki.text_old_text
(assign other relevant fields here)
WHERE
current_wiki.text.old_id = backup_wiki.text_old_id
AND current_wiki.text.old_id in (BAD TEXT ENTRIES)
Or is there something more complicated that's required?
I'm going to try to reproduce what happened to see if I can narrow
down the problem.
Travis