Last modified: 2010-05-15 15:33:05 UTC
I have a small test wiki running the latest beta, which has about 6 articles in it (and a few images, redirects, etc.). When I run maintenance/RefreshLinks.php, the links tables fill up with entries, and the wiki shows some incorrect results. [[Special:Wanted pages]] shows several MediaWiki: system messages at the top. Almost every article's [[Special:Whatlinkshere]] shows unrelated articles/images/etc. -and even redirects- pointing to it. It almost looks as though links are being searched recursively to populate the links tables. For example, [[A]] redirects to [[B]] which links to [[C]], so [[Special:Whatlinkshere/C]] shows a direct link from [[A]]>[[C]] which doesn't exist in reality.
The refreshLinks seems to be totally BROKEN: - it is slow because of ugly evilly written inneficient SQL request, which breaks both sql server and php host with those EVIL arrays ! crazy ! Im trying to rewrite all that stuff from scratch, but it take some time. - I suspect we also do html rendering , not only parse. - the code is very badly written , nearly impossible to understand, working on global variables in functions that hide completely the job, and the flow of operations. This coding style is good only for php-accelerators, not for human. (sorry i m hungry, because of hours spends in the code)
Be sure to insult our mothers, too. ;)
The new global $wgLinkHolders was not being cleared between runs; in prior versions this intermediate link data holding structure did not exist. Fixed.