Last modified: 2010-05-15 16:03:36 UTC
Created attachment 4799 [details] Instance of bug For certain categories {{PAGESINCATEGORY}} returns a negative number. See the attachment (screenshot) for an instance of the bug. At that particular time, [[Category:Attack pages for speedy deletion]] was empty while [[Category:Wikipedia protected edit requests]] contained only [[Template talk:Cite conference]]. Wikitext to reproduce on en: {{PAGESINCATEGORY:Attack pages for speedy deletion}} : {{PAGESINCATEGORY:Wikipedia protected edit requests}} Expected (for above scenario): 0 : 1 Actual: -1 : -6 This may be indicative of a general inaccuracy in this magic word, but you definitely know there's something wrong when you're being told a category has negative members.
Summary tables never seem to be accurate, for some annoying reason. (I have no idea why. It should all be nicely wrapped in transactions, shouldn't it?) It won't be noticeable for categories like [[Category:Living people]], since a few pages here or there is a drop in the bucket, but for categories that are expected to be near zero, the fluctuations up and down will inevitably be somewhat noticeable. I don't know what the best solution is. We could of course just pretend it means zero, but that just papers over the real problem, which is that the count isn't accurate. Ugh.
A more blatant example: {{PAGESINCATEGORY:Wikipedia articles in need of updating}} == -18, which is not only negative but off by several orders of magnitude as well.
As of r34870, if the number of pages (or subcats or media files) is negative on initialization, we just do a recount. This should be acceptably fast for occasional use, or frequent use on small categories.