Commit graph

63 commits

Author SHA1 Message Date
Ævar Arnfjörð Bjarmason
a26d5a49d7 * s~\t+$~~ 2006-01-07 13:31:29 +00:00
Tim Starling
f2a59db33f Removed $wgLinkCache, converted to a singleton. Removed obsolete cruft from LinkCache.php. 2006-01-05 02:05:53 +00:00
Tim Starling
d2adf83131 gave LinkBatch its own file 2006-01-04 23:53:51 +00:00
Tim Starling
81217f55a0 * Added templatelinks table. The table currently represents a literal list of templates included from each article. That is, the table contains pages which were actually loaded during parsing, not the markup which went into resolving their names.
* Ended the role of $wgLinkCache in link updates. Instead, links (and related entities) are registered in the ParserOutput object during a parse. The LinksUpdate constructor now takes a ParserOutput object as a parameter. $wgLinkCache is still used, but only as a cache of article IDs.
* Because the link list is now saved and restored in the parser cache, meta tag keywords now work on parser cache hits. Some refactoring took place in this area.
* Rendering of the HTML for category links has moved from Parser to OutputPage.
* Did some general pottering around in Article.php, such as allowing an Article object to be created with a specified revision ID, thereby optionally removing the dependence on $wgRequest. Not used at the current time.
* A few documentation tweaks.
2005-12-30 09:33:11 +00:00
Antoine Musso
85cd400ca4 Fix fatal error when $wgProfiling = false; 2005-12-26 22:35:47 +00:00
Brion Vibber
219094eb01 Committing various live hacks from Wikimedia servers 2005-10-22 20:52:30 +00:00
Tim Starling
eec6c4b5ce sanity check 2005-09-11 12:31:59 +00:00
Tim Starling
9578059ce1 removed some debugging statements, I think they were all added by kate in the oracle merge 2005-08-20 03:11:05 +00:00
Tim Starling
8d89041927 fixed missing branch 2005-08-20 01:30:22 +00:00
Tim Starling
28b2b4b2f5 Always use reference assignment when taking the return value of wfGetDB(), or else annoying bugs which are difficult to track down will result. Example of correct usage:
$dbr =& wfGetDB( DB_SLAVE );
2005-08-15 13:06:33 +00:00
River Tarnell
b817c0c15f merge ORACLE_WORK. sorry, this may break some parts of MySQL, i did not test extensively. 2005-08-02 13:35:19 +00:00
Tim Starling
3c804d861c respect ALF_NO_LINK_LOCK 2005-06-26 08:25:18 +00:00
Ævar Arnfjörð Bjarmason
e6851ce43b * Typo: MediaWikki => MediaWiki 2005-06-25 23:28:15 +00:00
Brion Vibber
b852bd954c * (bug 2515) Fix incremental link table update 2005-06-25 20:54:49 +00:00
Brion Vibber
cb45389b9c * Remove linkscc table code, no longer used. 2005-05-31 07:21:31 +00:00
Tim Starling
a495c45fdd forward-ported the changes made in 1.40.2.1 2005-05-29 10:17:44 +00:00
Tim Starling
a7c938d0c3 ported $wgAntiLockFlags from REL1_4 2005-05-29 05:54:04 +00:00
Brion Vibber
e0ce5a322e * links and brokenlinks tables merged to pagelinks; this will reduce pain
dealing with moves and deletes of widely-linked pages.

The updaters should be fixed up to understand future versions without the
tables there without breaking upgrades.
2005-05-26 10:23:36 +00:00
Ævar Arnfjörð Bjarmason
229495c90e * Fixed some phpdoc errors, see http://wikipedia.sf.net/doc/errors.html 2005-05-10 08:28:33 +00:00
Ævar Arnfjörð Bjarmason
273671cf32 Adding cache related stuff to a new 'Cache' subpackage 2005-04-12 01:29:21 +00:00
Tim Starling
3d91a20b45 Modification to LinkBatch 2005-04-03 08:26:42 +00:00
Tim Starling
505560a89e LinkBatch class for fast batch link lookup in special pages 2005-04-03 07:28:52 +00:00
Brion Vibber
64ac6b8e77 Merge SCHEMA_WORK into HEAD. Lots of changes, some things are probably broken:
* Page moves/overwrites are a little iffy
* Compression might not be working right
* Profit!
2004-12-19 08:00:50 +00:00
Brion Vibber
bfed84f2af Revert accidental checkin of unused experimental code. 2004-12-01 08:48:31 +00:00
Brion Vibber
949ef6a744 Profiling points. Bump version to 1.4.0beta0; update HISTORY notes to current 1.3; prepare for REL1_4 branch. 2004-12-01 08:46:48 +00:00
Tim Starling
412eda0517 Correcting bugs due to double-prefixing table names. Removing obsolete Database member functions. Adding comments to Database.php 2004-10-24 07:10:33 +00:00
Antoine Musso
ba2afcd9fa Split files and classes in different packages for phpdocumentor. I probably changed some double quotes to single and used function foo () { shema 2004-09-03 23:00:01 +00:00
Antoine Musso
90155b8a97 Changing comments layout preparing for generated documentation with Phpdocumentor 2004-09-02 23:28:24 +00:00
Antoine Musso
3d60242fb5 massive double to single quotes conversion. I have not noticed any bug after a lot of testing 2004-08-22 17:24:50 +00:00
Tim Starling
ac549401d4 * Support for table name prefixes throughout the code. No support yet for converting static SQL, which also means no installation. But it has been tested by creating the tables in the ordinary way and then renaming them
* DB_WRITE now called DB_MASTER, DB_READ now called DB_SLAVE
* Converted to use SQL wrapper functions instead of direct SQL in various places
* Experimental method for preserving the chronological order of events when slave servers are used. Untested.
* Fixes to the new post-parse existence test feature
* Some.. other stuff
2004-07-18 08:48:43 +00:00
Tim Starling
b96b707efa OOP calling convention for database functions. DBMS abstraction implemented by means of functions instead of global variables, PostgreSQL object converted to a subclass instead of a drop-in replacement. Also the beginnings of a flexible table name feature. 2004-07-10 03:09:26 +00:00
Brion Vibber
d274599d55 Remove broken paren 2004-06-13 02:06:56 +00:00
Gabriel Wicke
797e7d34ec typo 2004-06-12 00:58:10 +00:00
Domas Mituzas
4d1280d265 * change REPLACE INTO to DELETE/INSERT for nonmysql
* change mysql style join deletes to subselect for nonmysql
2004-06-11 14:36:25 +00:00
Tim Starling
03745055d3 Moving the "if ( $wgEnablePersistentLC )" from the caller to the callee 2004-06-05 04:44:45 +00:00
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