On Mon, Aug 30, 2010 at 8:00 AM, Platonides Platonides@gmail.com wrote:
You seem to be using it just to not promet him again when he has been removed. Why not change the user_groups entry to something like "~editor" ? (ie. "not editor")
That seems a lot less obvious. Everything accessing user_groups will have to special-case it. Making a separate table is cleaner, IMO.
Most uses in core are just to check if he's a bot, and if an extension accessed directly to the db (which shouldn't), would just see an unknown group.
There are legitimate reasons for extensions or maintenance scripts to directly access the DB, like to do batch queries. In trunk alone, it looks like CentralAuth, EmailPage, Farmer, FlaggedRevs, Maintenance, PageBy, SemanticNotifyMe, SpecialFileList, StrategyWiki, UserMerge, and WhiteListEdit access the table directly. Some maybe wrongly, but they do. There are at least a dozen different places in phase3 that access it too.
I'm not against making breaking changes to the semantics of tables when necessary (see categorylinks), but I don't think it's necessary here -- especially since a separate table is a cleaner design to begin with (no magic values).