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)