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