List of database patches and upgrades as the PediaWiki software evolves... * 2002-11-23: Search index format changed for UTF-8 wikis For wikis using the UTF-8 languages, the search index entries need to be rebuild to allow searching to work. (Other wikis that have been run through the old phase2->phase3 conversion script should also be reindexed to catch apostrophe misplacement.) Run rebuildIndex.php on your wiki. * 2002-11-27: Watchlist format changed Converts the user_watchlist entries out to a separate table which links user_id<->cur_id and can be more handily queried. Run upgradeWatchlist.php on your wiki. * 2002-12-14: Recentchanges table bot/hidden column Adds a column to indicate changes by registered bots (or perhaps later other admin actions) that should be hidden from the default Recentchanges list because people think they're tedious, but should still be available in article histories, contribs lists, and power-user RC lists. Run bot.sql against your database. * 2002-12-17: Watchlist format changed again Now using namespace, title instead of cur_id. This can track deleted/ recreated pages better, makes it easier to handle talk pages (now with the auto-watch feature there's a lot more watching of talk pages!) and whatnot. Run patch-watchlist.sql against your database. If all is well, drop the oldwatchlist table which is no longer needed. (Note that this update also drops the vestigial user_watchlist column.) * 2002-12-26: TeX math rendering adds 'math' table A new 'math' table is used to cache TeX sections. Run patch-math.sql against your database, and add 'tmp' and 'math' subdirectories to your tree alongside the upload directory, and copy the 'math' source subdirectory under the wiki's PHP directory and run "make" to compile the texvc evaluator. (whew!) TeX support requires TeX, OCaml, and ImageMagick. If you don't want to use TeX support on your wiki, you can globally disable it by setting $wgUseTeX=false in LocalSettings.php. * 2003-01-25: searchindex table A new 'searchindex' table separates the fulltext index fields from 'cur'. This enables use of InnoDB tables, which don't support fulltext search, for the main data, and will keep junk out of the backup dumps. Run patch-searchindex.sql on the database. If you wish to change table tables on the others, use 'alter table' manually. (See MySQL docs.) * 2003-01-24: Talk pages for anonymous users A new table user_newtalk contains a list of talk pages that were changed, both pages by anonymous and those by non-anonymous users. Run patch-usernewtalk.sql if your database was created before this date. * 2003-02-02: Math table changed Rerun patch-math.sql to recreate it. * 2003-02-03: Index added to USER table for performance reasons. Run patch-userindex.sql to create it. * 2003-02-09: Random table & inverse timestamps The random page queue table has been removed in favor of a column in the cur table. This eliminates the ssllooww queue refill step; pre-storing random indices in an indexed column means we can do the random sort instantly; each element is re-randomized upon selection. Also, an inverse_timestamp field has been added to the cur and old tables. This will allow fast index-based sorting in history lists, user contribs, linked recentchanges, etc with MySQL 3, which doesn't allow DESC ordering on an indexed field. This may be removed later when MySQL is found to be stable. * 2003-03-22: Last touched fields for caching 'Last touched' timestamp fields have been added to the cur and user tables to aid in maintaining cache consistency. Web clients will be forced to reload a page if it has been touched since the client's cached copy (this will catch indirect changes like creation of linked pages) or if a user changes preferences or logs in anew (so visual changes and login status are taken into account). Run patch-cache.sql on the database to set these fields up. This is required for changes to OutputPage.php and elsewhere to continue working on an older database. * 2003-05-23: Index for "Oldest articles" "Oldest articles" needs an index on namespace, redirect and timestamp to be reasonably fast. (patch-oldestindex.sql) OutputPage.php User.php maintenance/buildTables.inc maintenance/patch-cache.sql maintenance/patch-list.txt * 2003-09: Ipblocks auto-expiry update patch-ipblocks.sql * Interwiki URL table Moves the interwiki prefix<->url mapping table from a static array into the database. If you've got a custom table, be sure to make your changes! Run patch-interwiki.sql to create the interwiki table, then the plain interwiki.sql to load up the default set of mappings. * 2003-05-30: File upload license fields Adds fields to 'image' table. INCOMPLETE, DO NOT USE * 2003-08-21: Interwiki URL table Moves the interwiki prefix<->url mapping table from a static array into the database. If you've got a custom table, be sure to make your changes! Run patch-interwiki.sql to create the interwiki table, then the plain interwiki.sql to load up the default set of mappings. * 2003-09: Ipblocks auto-expiry update patch-ipblocks.sql * Interwiki URL table Moves the interwiki prefix<->url mapping table from a static array into the database. If you've got a custom table, be sure to make your changes! Run patch-interwiki.sql to create the interwiki table, then the plain interwiki.sql to load up the default set of mappings. * 2003-11: Indexes Fixes up indexes on links, brokenlinks, recentchanges, watchlist, and archive tables to boost speed. Run patch-indexes.sql. * 2003-11: linkscc table creation patch-linkscc.sql * 2004-01-25: recentchanges additional index Adds an index to recentchanges to optimize Special:Newpages patch-rc-newindex.sql * 2004-02-14: Adds the ipb_expiry field to ipblocks patch-ipb_expiry.sql * 2004-03-11: Recreate links tables to avoid duplicating titles everywhere. **Rebuild your links after this with refreshLinks.php** patch-linktables.sql * 2004-04: Add user_real_name field patch-user-realname.sql * 2004-05-08: Add querycache table for caching special pages and generic object cache to cover some slow operations w/o memcached. patch-querycache.sql patch-objectcache.sql * 2004-05-14: Add categorylinks table for handling category membership patch-categorylinks.sql