On 7/10/07, Simetrical <Simetrical+wikilist(a)gmail.com> wrote:
Then you need to account for the namespaces too.
*That's* probably
not going to make MySQL happy: (xx_namespace = ... AND xx_title = ...)
OR (xx_namespace = ... AND xx_title = ...) OR ... I don't think
there's a way to do that with IN.
We only have to do this if we have a blacklist for an otherwise
readable namespace. I don't think we have such feature. On the other
hand, if whitelists allow multiple namespaces, it can get fairly ugly:
WHERE ... AND (
xx_namespace NOT IN (banned NSs)
OR (xx_namespace = banned_ns1 AND xx_title IN (ns1_whitelist)
OR (xx_namespace = banned_ns2 AND xx_title IN (ns2_whitelist)
....
)
In short - its easier to restrict API from performing "get all pages
in a non-readable NS". API would still give the content of the
whitelisted pages - individual page rights validation there.
If we allow individual page visibility to be controlled through a
plugin, API could become very inefficient.