Lightning wrote:
Brion Vibber wrote:
Well, you kinda hafta use the text when all you've _got_ is the text that's given to you in a link. :) cur_id is used in various places for intertable joins already (for instance in the links, brokenlinks and searchindex tables).
I am more thinking of other internal operations, not just page views. Specifically I am thinking of watch lists,
Watchlist uses namespace/title instead of cur_id to better survive the case of disappearing/reappearing pages.
If a page is deleted, it's got _no_ cur_id. If it's recreated, it'll have a different cur_id. So if we wanted to handle watched, but presently nonexistent, items with a cur_id index in watchlist in general, we'd have to make another table just for those, or weird non-normal columns in watchlist, and then fix up the watchlists whenever a page is created / deleted.
That's why watchlist was changed _from_ using cur_id to using namespace/title.
I do think that we should file this into a "TODO at some point" list.
Certainly.
The conversion itself would be quite simple, and could be done over time without disturbing the database.
If you mean, we could create a new_old table and make a mess of spaghetti code to check new_old and old_old and transfer articles' data one at a time while carefully locking another attempt to do the same, well hypothetically perhaps.
Look in message : "[Wikitech-l] Subscribe to article feature (code included)" from yesterday.
Will take a look.
-- brion vibber (brion @ pobox.com)