Hi!
It seems there is disagreement about what the correct
interpretation of NULL in
the rev_content_model column is. Should NULL there mean
(a) "the current page content model, as recorded in page_content_model"
or should it mean
(b) "the default for this title, no matter what page_content_model says"?
As I understand, NULL is there as a space-saving measure. So I guess we
want to ask ourselves if we want to go to so much trouble to save space...
Abstractly, a) looks better than b) for me since the scenario where
default changed and all pages with all default are now broken is avoided
there. OTOH, if the pages are updated together with the default, that
must have caused page_content_model to update too, so in this case a)
should work too.
There is also an in-between option, let's call it
a/b: fall back to
page_content_model for the latest revision (that should *always* be right), but
to ignore page_content_model for older revisions. That would cater to use case
This may be even better, since page record is supposed to match latest
revisions, but not prior revisions. That still leaves prior revisions in
case of default change broken, but at least current one isn't.
--
Stas Malyshev
smalyshev(a)wikimedia.org