Russell Blau schreef:
"Roan Kattouw" <roan.kattouw(a)home.nl>
said:
Carl Beckhorn schreef:
It's already known among the developers that
there can be obsolete
entries in the page table. One of these at the moment is pageid 414115
on enwiki, the article [[/.]], which has an illegal title.
Unsurprisingly,
when that page was last edited, it was a redirect to [[Slashdot]].
That's the database's fault, not the API's. If this causes
trouble,
someone should write a maintenance script to delete these ghost pages.
Well, I'm the one who posted about this on enwiki, and was told in no
uncertain terms by Tim Starling that it's the API's fault, not the
database's.
Even the big guys make a mistake here and there (although they do so
less frequently), they're human too. The point here is that the UI has
exactly the same flaw ([[Special:Whatlinkshere/Slashdot]]) also links to
[[/.]], which, when clicked, displays an invalid title error). The fact
that these titles are still in the DB is not the API's fault (nor the
UI's, BTW).
The problem is that if the invalid title retrieved
from one query is used in
the titles= parameter of another query, the API returns a Bad Title error on
the entire query (even if there are 50 titles |'ed together).
That's bug
13390 [1], only very distinctly related to this issue.
Some possible
solutions to this, in no particular order:
1) delete the damn page entry from the database
That should happen. Someone (not me, I suck at that) should write a
maintenance script for that.
2) change the API so that, if there is a bad title in
the titles=
parameter, it still returns the query result for all the valid titles.
That's what I'm gonna do when I fix bug 13390 (it's on my TODO
list).
3) change the API so that it doesn't return the
invalid page entry in the
first place (probably not such a good idea, now that I think about it)
Exactly.
Roan Kattouw (Catrope)
[1]
https://bugzilla.wikimedia.org/show_bug.cgi?id=13390