On 07/12/15 06:29, Bartosz Dziewoński wrote:
To add to what Alex and Florian said, the simple
database lookup to
check page existence is not actually that simple. When parsing a page,
the query to determine link color (and to mark links to non-existent,
redirect or disambig pages) is done in batches of 1000 links, after
the whole page has been parsed and we know all the pages it links to.
Special pages that have lists of links use a similar method.
Also, when you make a red link, and then someone creates the page,
people expect the link to turn blue straight away. That's implemented
using the pagelinks table -- when a page is created, we use pagelinks
to find all pages with red links to that page, update all their
page_touched fields, and purge them from Varnish, so that all the
links will turn blue in under a second.
It's possible to do that for interwiki links, but it increases the
amount of time it would take to implement such a feature. We currently
don't have a way to efficiently find all interwiki links to a page, so
one would have to be added.
-- Tim Starling