Commit graph

28 commits

Author SHA1 Message Date
Brion Vibber
ac9621badb Add categorylinks table to separately list category relationships. Actual
_page_ links to category pages like [[:category:Some cat]] will stay in
links/brokenlinks and not be listed in the category page list anymore.

A link can optionally specify a sort key like this: [[category:cat|Sort me]].
The page will then be sorted in category lists according to the given text
instead of the page name; thus categories may be sorted arbitrarily, by
last name or whatever.

There is also a timestamp field included on gwicke's request; this is not
used yet. Also it will currently be updated at every edit of the page,
this can be changed by implementing differential updating for the cat links.

TODO:
* Make sure that automatic sort keys are updated on page rename.
* Make sure cateory pages get cache-invalidated and purged
* Use proper text sorting instead of raw binary sort
* Allow specification of the display style on category pages: comma list
  or bullet list or number list; by sortkey or by timestamp; etc
2004-05-15 00:29:39 +00:00
Tim Starling
36924e12e4 slight alteration to comment 2004-03-20 14:33:18 +00:00
Brion Vibber
8510acd5a4 Clean up initialized variables; fix upload error. 2004-03-20 08:41:33 +00:00
Brion Vibber
59c6e92429 Some changes to the link tables. They now all use a key on cur_id for the *_from column instead of strings, and have a unique index to force prevent any duplicate entries. There's not yet a clean step in the update script, so just clear out your links tables (patch-linktables.sql) and rebuild them with refreshLinks.php.
This saves trouble in a number of places where we can now do joins with the link tables to get other info (such as cur_is_redirect!) as well as the name, and fewer bits need to be juggled on page renaming, as outgoing links no longer have to be changed (cur_id remains the same when a page is renamed).

rebuildLinks.inc and some of the tools in the 'maintenance page' still need to be updated to work with the new setup. (Special:Maintenance needs a *lot* of cleanup in general. It's kind of a catch-all of vaguely defined features which suck performance like a hydroelectric dam.)

Also I've slipped in some extra debug code. And, I think 'indexes.sql' is a big waste of time and should all be moved into tables.sql. Building indexes separately doesn't help on InnoDB and won't do anything on MyISAM either if you're just going to replace the table after it's built with an imported one from a dump which creates it with indexes.
2004-03-11 09:06:13 +00:00
Brion Vibber
0332f4c598 Fix for compatibility with short_open_tag = Off 2004-02-18 02:15:00 +00:00
Mr. E23
aaeffe07ed Fixed bug causing wgLinkCacheMemcached to not cache status of broken links. Shortened wgLinkCacheMemcached expire time. 2004-01-31 01:47:54 +00:00
Mr. E23
1be2dcc701 Missing global caused $wgCompressedPersistentLC=true to be ignored 2004-01-28 10:26:28 +00:00
Mr. E23
6bf06ffe02 compatibility modifications in preparation for the new memcached client 2004-01-24 20:58:13 +00:00
Mr. E23
46262fe2e0 Minor fix 2004-01-05 23:15:11 +00:00
Mr. E23
bd7256aede Moved linkscc SQL details into LinkCache for cleaner code. Also cleaned up LinkCache a bit. 2004-01-05 20:55:45 +00:00
Brion Vibber
1baf68953a Avoid saving to linkscc if the article doesn't exist; this leaves
corrupt entries in the table. Also, include the column names in
the REPLACE statement to guard against potential ordering problems
in databases that are manually munged around.
2003-12-21 06:33:57 +00:00
Mr. E23
9a50d21d01 Added missing global for $wgLinkCacheMemcached 2003-11-28 08:31:26 +00:00
Mr. E23
c280ef342b Added versioning to serialized LinkCache objects. Added pref. 2003-11-27 19:53:40 +00:00
Brion Vibber
b292c89f24 Fix incremental link update with persistent linkcache 2003-11-25 06:57:24 +00:00
Mr. E23
3bd6bbff45 Significant speed improvements by removing linear scans in arrays.\nEspecially effective for rebuildlinks. 2003-11-24 19:49:32 +00:00
Tim Starling
596f4b09ce Latest features and bug fixes imported from stable 2003-11-12 10:21:28 +00:00
Tim Starling
46787701ce Nov. branch merge. Various features backported from stable, various bug fixes. 2003-11-09 11:45:12 +00:00
Mr. E23
665c30813e Experimental code for caching page links 2003-11-08 15:12:34 +00:00
Brion Vibber
2442fa30e2 Fix move page / linkcache / memcached problem 2003-11-04 08:59:28 +00:00
Tim Starling
b64fae6383 Optimisation 2003-10-22 23:56:49 +00:00
Tim Starling
d8cc830c4a block/unblock log; split off profiling into Profiling.php and broke it (turn it off for now) 2003-10-16 13:30:45 +00:00
Tim Starling
7057b4e609 wfQuery now takes three parameters -- one extra for DB replication purposes 2003-09-20 01:34:06 +00:00
Brion Vibber
1c2cb5c0fd Some more tweaking of prelim memcached support; shortened keys, added newtalk for anons 2003-08-13 12:26:06 +00:00
Brion Vibber
fd305c509f Initial support for memcached.
Includes PHP MemCachedClient 1.0.8 by Ryan Gilfether, under GPL license.
2003-08-11 13:53:20 +00:00
Tim Starling
58f452c485 bug fixes, removed debug output 2003-07-07 13:43:03 +00:00
Tim Starling
a81b621b5f Incremental link table updates 2003-07-06 11:42:42 +00:00
Brion Vibber
ee80c43ca0 Prefill link cache with brokenlinks too 2003-05-16 13:37:02 +00:00
Lee Daniel Crocker
d82c14fb4f Initial revision 2003-04-14 23:10:40 +00:00