Timwi wrote:
This smells a bit of database problems. In order to determine if someone can edit an article, you would have to:
query this table you've suggested: SELECT restr_num FROM retrictions WHERE restr_user IN ('User Name', '*') AND restr_article IN ('Article title', '*')
query both cur and old to see how often they have already edited it: SELECT COUNT(*) FROM cur WHERE cur_user=$userid AND cur_timestamp < $twentyfourhoursago AND cur_title='Article title' AND cur_namespace=0 SELECT COUNT(*) FROM old WHERE old_user=$userid AND old_timestamp < $twentyfourhoursago AND old_title='Article title' AND old_namespace=0
and then compare.
I'm not saying it can't be done, but I have my suspicion that this is going to slow things down even more.
Timwi
Technical point of view: In Jimbo's proposal, an admin would explicitly flag a user for throttling.
Thus very few users would ever be throttled and all the querying you suggest would be inside a big if( is_throttled($userid) ), which is false for a massive majority of edits.
Practical point of view: The number of disruptive users is still relatively small. (There are only three users I would ban today if I were GodKing that aren't banned already). Speedy use of current technology and processes (Arbitration) would solve these issues.
Pete