Commit graph

50 commits

Author SHA1 Message Date
Tim Starling
4b66381cbf * Mostly reverted r41081 and related. Although the motivation (to save a query) is noble, it's a complex special case relying on subtle inter-module effects, making the code quite unclear and the performance advantage hard to reproduce in new code.
* r41081 was causing the job queue to be flooded with tiny htmlCacheUpdate jobs which were less than the batch size and so, according to the original logic, should have been done immediately. This was causing template updates to be delayed even when the template has few backlinks. This is fixed.
* Introduced a shared cache called BacklinkCache with the main purpose of sharing data from these backlink queries, thus recovering the performance of r41081.
* Refactored backlink partitioning code, which in r40741 was copied from HTMLCacheUpdate to LinksUpdate with a bug intact. The bug caused every htmlCacheUpdate or refreshLinks2 job to be split into at least two pieces even when number of rows is less than the batch size.
* Fixed a bug from r40741 causing refreshLinks2 jobs with end=false to be ignored.
* Made SquidUpdate::newFromTitles() accept a TitleArray
2009-02-16 14:26:34 +00:00
Chad Horohoe
414360a350 +a few docs 2008-10-06 15:31:03 +00:00
Brion Vibber
dcc1d530fe * (bug 4977) Fix for possible squid purging errors when using HTTP purges
and multiple servers
2008-06-16 20:18:49 +00:00
Alexandre Emsenhuber
087a9f70c5 WARNING: HUGE COMMIT
Doxygen documentation update:
* Changed alls @addtogroup to @ingroup. @addtogroup adds the comment to the group description, but doesn't add the file, class, function, ... to the group like @ingroup does. See for example http://svn.wikimedia.org/doc/group__SpecialPage.html where it's impossible to see related files, classes, ... that should belong to that group.
* Added @file to file description, it seems that it should be explicitely decalred for file descriptions, otherwise doxygen will think that the comment document the first class, variabled, function, ... that is in that file.
* Removed some empty comments
* Removed some ?>

Added following groups:
* ExternalStorage
* JobQueue
* MaintenanceLanguage

One more thing: there are still a lot of warnings when generating the doc.
2008-05-20 17:13:28 +00:00
Siebrand Mazeland
79d5225c0e * remove end of line whitespace
* remove empty lines at end of file
* remove "?>" where still present
2008-04-14 07:45:50 +00:00
Alexandre Emsenhuber
2ed1bedb94 * Fixed call to deprecated functions
* Remove unused global declaration of $wgArticle in SkinTemplate::buildNavUrls()
2008-03-24 15:04:55 +00:00
Huji
db7d75fba7 (bug 12608) (in continuation of r29719) Unifying the spelling of getDBkey() in the code. 2008-01-14 09:26:36 +00:00
Aryeh Gregor
a15c419b3d Remove ?>'s from files. They're pointless, and just asking for people to mess with the files and add trailing whitespace. (Yes, I looked over every one and reverted those that were bogus. Slash-enter a million times in less worked well enough, although it was a bit mind-numbing.) 2007-06-29 01:19:14 +00:00
Brion Vibber
045962ea87 * Avoid PHP notice errors when doing HTTP proxy purges for an empty list
* As intended, *skip* the HTTP proxy purges when doing HTCP purges
2007-06-19 21:13:17 +00:00
Brion Vibber
f1bb5a385e E_STRICT fixlets: properly mark some static methods as static
Also removed a few obsolete object references
2007-05-02 15:36:17 +00:00
Nick Jenkins
f88c771756 The war on redundant ampersand usage!
* Convert "$dbw =& wfGetDB( DB_MASTER );" --> "$dbw = wfGetDB( DB_MASTER );"
* convert "$skin =& $wgUser->getSkin();" --> "$skin = $wgUser->getSkin();"

For the time being have not changed the function definitions of wfGetDB() or User::getSkin() [i.e. they are still both return-by-ref], so as to ensure the interface does not change for extensions [some of which may still be trying to run on PHP4 environments]. However presumably at some point this can be changed too.

Also includes tiny tweak to newlines in parserTests - will show 1 rather than 2 newlines between the "Reading tests from" strings when in quiet mode.
2007-01-22 23:50:42 +00:00
Antoine Musso
c771fc9c96 Use Doxygen @addtogroup instead of phpdoc @package && @subpackage 2007-01-20 15:09:52 +00:00
Antoine Musso
b144fcb85d Rename constructors to __constructor 2007-01-20 13:34:31 +00:00
Nick Jenkins
ae8554c45b Completing code housekeeping stuff for rest of includes/ directory: removing unused local vars, removing unused globals, replacing extract() where simple to do, declaring output arrays before calling preg_match(), and so forth. 2006-11-29 11:43:58 +00:00
Brion Vibber
ad447f6bf4 * (bug 7599) Fix thumbnail purging, PHP notices on HTCP image page purge
Somebody changed the parameters and return value of Image->thumbUrl()
and didn't update all uses. Silly of them!

Also add a paranoia check on urls in the list in SquidUpdate

And don't redefine the socket options constants when called a second time
2006-10-16 19:12:56 +00:00
Mark Bergsma
32308a5de2 Purge using HEAD instead of GET, as Squid can match a GET object using HEAD too... 2006-10-16 01:26:14 +00:00
Mark Bergsma
92a5e0aa06 Change the HTCP purge method from 'NONE' to 'GET', to make
HTCP purges work with Squid 2.6 again.
2006-10-15 18:53:08 +00:00
Tim Starling
b43f9e212a probably don't need this... 2006-06-18 12:46:50 +00:00
Tim Starling
0e2714b61d Added a new method to update the cache of all pages linking to a given page without using excessive time or memory. This turns out to be a common operation in MediaWiki, I needed to fix callers in a lot of files. Backwards compatibility is maintained (of course). Also did some cleanup in Article.php, another 3 years of that and it'll be looking pretty. New job type added to the job queue, some refactoring done in JobQueue.php to support it. 2006-06-18 12:42:16 +00:00
Brion Vibber
95e391545a * (bug 6074) Correct squid purging of offsite upload URLs
You can now feed both local relative URLs and fully-qualified URLs to the
squid purge functions; local URLs will have $wgInternalServer prepended
if needed. This avoids the broken URLs produced by other functions prepending
it when it wasn't always needed.
2006-05-24 21:57:25 +00:00
Antoine Musso
7ebdb6de89 Revert to r14165 . Did too many changes, didnt even run parserTests (i am bad) 2006-05-11 22:40:38 +00:00
Antoine Musso
bc14eb8045 Replacing var keyword with private / public as we now require PHP5. 2006-05-11 19:10:41 +00:00
Antoine Musso
b1cefadade properly set socket as non blocking (bug 4940: unitialized local variables) 2006-04-24 15:55:42 +00:00
Ævar Arnfjörð Bjarmason
a26d5a49d7 * s~\t+$~~ 2006-01-07 13:31:29 +00:00
Ævar Arnfjörð Bjarmason
7bbe971aec * s~ +$~~ 2006-01-07 13:09:30 +00:00
Antoine Musso
52c87634f8 * useless calls to tableName
* uninitialized variables
2005-12-04 20:36:58 +00:00
Tim Starling
451b25a36f typo 2005-11-07 04:10:02 +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
Tim Starling
8c8ef55be5 * When an image is changed, invalidate pages that use it.
* Introduced image "broken links" allowing the user to quickly upload an image with that name
* "Upload a new version of this image" link from the image description page
2005-04-17 08:30:15 +00:00
Ævar Arnfjörð Bjarmason
76bb2dbc40 * Some clown with CVS access deleted our MS Word files and replaced them with
textfiles, changing all references to them.
2005-04-12 02:07:16 +00:00
Mark Bergsma
4d362d493d Use wfDebug() instead of SquidUpdate::debug() 2005-04-06 17:37:55 +00:00
Mark Bergsma
e2bf849032 HTCP Multicast Squid purging support
Uses (UDP) HTCP packets to send 'CLR' (purge) requests to Squids,
using a multicast group address. Needs a patched Squid (Squid doesn't
support HTCP CLR):
http://www.nedworks.org/~mark/patches/squid-htcp-clr.diff
2005-04-06 17:14:43 +00:00
Tom Gilder
c0dd017fab Various XHTML fixes 2005-01-16 02:57:30 +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
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
Brion Vibber
7770df55dc Comment out method calls on a null $this object that killed thumbnail
generation and perhaps other things on the live site.
2004-06-30 06:54:56 +00:00
Tim Starling
ea33dc3d07 Limit squid purging 2004-06-30 03:39:48 +00:00
Tim Starling
0943144cbc squid debugging 2004-06-30 02:02:43 +00:00
Brion Vibber
09f46cfa0e Suppress notice if port not specified (80 is default) 2004-04-09 09:19:47 +00:00
Tim Starling
2ca258fd03 * Changed inclusion syntax to allow e.g. {{stub}}
* Split MediaWiki namespace into MediaWiki and Template (requires changes to all language files)
* Purge links to on edit of Template namespace
* General refactoring of purging and cache invalidation code
2004-03-20 15:03:26 +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
f680d2a574 Consolidate with Title::getInternalURL() a bit 2004-03-08 09:51:11 +00:00
Tim Starling
2a029880ec code formatting 2004-03-08 09:43:36 +00:00
Brion Vibber
b59ce22943 Replace the random boolean parameters on Title::getURL() with a set of
practical, clear methods:
  Title::getLocalURL() - "/wiki/index.php/Foobar" or "/wiki/index.php?title=Foobar&action=edit"
  Title::getFullUrl() - ditto with $wgServer on the front
  Title::getInternalUrl() - ditto with $wgInternalServer on the front (for some squid-related functions)
  Title::escapeLocalUrl() - local URL escaped for HTML output
  Title::escapeFullUrl() - full URL escaped for HTML output

All take an optional query parameter.

Title::getURL(), wfFullUrl() and wfFullUrlE() are now officially
deprecated and will result in instant death. wfLocalUrl() and wfLocalUrlE()
will be killed shortly; they are still used in the language files.
2004-03-07 07:26:56 +00:00
Tim Starling
840dee3ad4 * Fixed magic quotes in $_REQUEST, in Setup.php
* Converted many instances of globals from the query to $_REQUEST
* Renamed near-useless Title::getURL() to Title::getPartialURL()
* Created new Title::getURL(), to replace wfLocalUrl, wfLocalUrlE, wfFullUrl and wfFullUrlE. Replaced most instances throughout the code
* In Parser.php, generalised stripping of <nowiki>, <pre> and <math> to allow more general use such as nesting
* Moved body of Article::preSaveTransform to Parser.php
* Put lots of comments in Title.php
2004-03-06 01:49:16 +00:00
Brion Vibber
0332f4c598 Fix for compatibility with short_open_tag = Off 2004-02-18 02:15:00 +00:00
Gabriel Wicke
cdf66aeddc *** empty log message *** 2004-01-30 16:06:22 +00:00