Russell Blau schreef:
"Roan Kattouw" roan.kattouw@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:
- 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.
- 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).
- 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)