MediaWiki master
MediaWiki\Cache\LinkBatch Class Reference

Class representing a list of titles The execute() method checks them all for existence and adds them to a LinkCache object. More...

Public Member Functions

 __construct (iterable $arr, LinkCache $linkCache, TitleFormatter $titleFormatter, Language $contentLanguage, GenderCache $genderCache, IConnectionProvider $dbProvider, LinksMigration $linksMigration, LoggerInterface $logger)
 
 add ( $ns, $dbkey)
 
 addObj ( $link)
 
 addResultToCache ( $cache, $res)
 Add a result wrapper containing IDs and titles to a LinkCache object.
 
 constructSet ( $prefix, $db)
 Construct a WHERE clause which will match all the given titles.
 
 doGenderQuery ()
 Do (and cache) {{GENDER:...}} information for userpages in this LinkBatch.
 
 doQuery ()
 Perform the existence test query, return a result wrapper with page_id fields.
 
 execute ()
 Do the query and add the results to the LinkCache object.
 
 getPageIdentities ()
 Do the query, add the results to the LinkCache object, and return ProperPageIdentity instances corresponding to the pages in the batch.
 
 getSize ()
 Returns the size of the batch.
 
 isEmpty ()
 Returns true if no pages have been added, false otherwise.
 
 setArray ( $array)
 Set the link list to a given 2-d array First key is the namespace, second is the DB key, value arbitrary.
 
 setCaller ( $caller)
 Use ->setCaller( METHOD ) to indicate which code is using this class.
 

Public Attributes

array< int, array< string, mixed > > $data = []
 2-d array, first index namespace, second index dbkey, value arbitrary
 

Protected Member Functions

 executeInto ( $cache)
 Do the query and add the results to a given LinkCache object Return an array mapping PDBK to ID.
 

Protected Attributes

string null $caller
 For debugging which method is using this class.
 

Detailed Description

Class representing a list of titles The execute() method checks them all for existence and adds them to a LinkCache object.

Definition at line 48 of file LinkBatch.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Cache\LinkBatch::__construct ( iterable $arr,
LinkCache $linkCache,
TitleFormatter $titleFormatter,
Language $contentLanguage,
GenderCache $genderCache,
IConnectionProvider $dbProvider,
LinksMigration $linksMigration,
LoggerInterface $logger )
See also
\MediaWiki\BagOStuff\LinkBatchFactory
Access: internal
Parameters
iterable<LinkTarget>|iterable<PageReference>$arr Initial items to be added to the batch
LinkCache$linkCache
TitleFormatter$titleFormatter
Language$contentLanguage
GenderCache$genderCache
IConnectionProvider$dbProvider
LinksMigration$linksMigration
LoggerInterface$logger

Definition at line 108 of file LinkBatch.php.

References MediaWiki\Cache\LinkBatch\addObj().

Member Function Documentation

◆ add()

MediaWiki\Cache\LinkBatch::add ( $ns,
$dbkey )
Parameters
int$ns
string$dbkey

Definition at line 174 of file LinkBatch.php.

Referenced by MediaWiki\Cache\LinkBatch\addObj().

◆ addObj()

MediaWiki\Cache\LinkBatch::addObj ( $link)
Parameters
LinkTarget | PageReference$link

Definition at line 148 of file LinkBatch.php.

References MediaWiki\Cache\LinkBatch\add(), and MediaWiki\Linker\LinkTarget\isExternal().

Referenced by MediaWiki\Cache\LinkBatch\__construct().

◆ addResultToCache()

MediaWiki\Cache\LinkBatch::addResultToCache ( $cache,
$res )

Add a result wrapper containing IDs and titles to a LinkCache object.

As normal, titles will go into the static Title cache field. This function also stores extra fields of the title used for link parsing to avoid extra DB queries.

Parameters
LinkCache$cache
IResultWrapper$res
Returns
int[] Array of remaining titles

Definition at line 257 of file LinkBatch.php.

References MediaWiki\Cache\CacheKeyHelper\getKeyForPage().

◆ constructSet()

MediaWiki\Cache\LinkBatch::constructSet ( $prefix,
$db )

Construct a WHERE clause which will match all the given titles.

It is the caller's responsibility to only call this if the LinkBatch is not empty, because there is no safe way to represent a SQL conditional for the empty set.

Parameters
string$prefixThe appropriate table's field name prefix ('page', 'pl', etc)
ISQLPlatform$dbDB object to use
Returns
string String with SQL where clause fragment

Definition at line 370 of file LinkBatch.php.

◆ doGenderQuery()

MediaWiki\Cache\LinkBatch::doGenderQuery ( )

Do (and cache) {{GENDER:...}} information for userpages in this LinkBatch.

Returns
bool Whether the query was successful

Definition at line 349 of file LinkBatch.php.

◆ doQuery()

MediaWiki\Cache\LinkBatch::doQuery ( )

Perform the existence test query, return a result wrapper with page_id fields.

Returns
IResultWrapper|false

Definition at line 324 of file LinkBatch.php.

References MediaWiki\Cache\LinkCache\getSelectFields().

◆ execute()

MediaWiki\Cache\LinkBatch::execute ( )

Do the query and add the results to the LinkCache object.

Returns
int[] Mapping PDBK to ID

Definition at line 215 of file LinkBatch.php.

References MediaWiki\Cache\LinkBatch\executeInto().

Referenced by MediaWiki\Cache\LinkBatch\getPageIdentities().

◆ executeInto()

MediaWiki\Cache\LinkBatch::executeInto ( $cache)
protected

Do the query and add the results to a given LinkCache object Return an array mapping PDBK to ID.

Parameters
LinkCache$cache
Returns
int[] Remaining IDs

Definition at line 241 of file LinkBatch.php.

Referenced by MediaWiki\Cache\LinkBatch\execute().

◆ getPageIdentities()

MediaWiki\Cache\LinkBatch::getPageIdentities ( )

Do the query, add the results to the LinkCache object, and return ProperPageIdentity instances corresponding to the pages in the batch.

Since
1.37
Returns
ProperPageIdentity[] A list of ProperPageIdentities

Definition at line 226 of file LinkBatch.php.

References MediaWiki\Cache\LinkBatch\execute().

◆ getSize()

MediaWiki\Cache\LinkBatch::getSize ( )

Returns the size of the batch.

Returns
int

Definition at line 206 of file LinkBatch.php.

Referenced by MediaWiki\Cache\LinkBatch\isEmpty().

◆ isEmpty()

MediaWiki\Cache\LinkBatch::isEmpty ( )

Returns true if no pages have been added, false otherwise.

Returns
bool

Definition at line 197 of file LinkBatch.php.

References MediaWiki\Cache\LinkBatch\getSize().

◆ setArray()

MediaWiki\Cache\LinkBatch::setArray ( $array)

Set the link list to a given 2-d array First key is the namespace, second is the DB key, value arbitrary.

Parameters
array<int,array<string,mixed>>$array

Definition at line 188 of file LinkBatch.php.

◆ setCaller()

MediaWiki\Cache\LinkBatch::setCaller ( $caller)

Use ->setCaller( METHOD ) to indicate which code is using this class.

Only used in debugging output.

Since
1.17
Parameters
string$caller
Returns
self (since 1.32)

Definition at line 139 of file LinkBatch.php.

References MediaWiki\Cache\LinkBatch\$caller.

Member Data Documentation

◆ $caller

string null MediaWiki\Cache\LinkBatch::$caller
protected

For debugging which method is using this class.

Definition at line 62 of file LinkBatch.php.

Referenced by MediaWiki\Cache\LinkBatch\setCaller().

◆ $data

array<int,array<string,mixed> > MediaWiki\Cache\LinkBatch::$data = []

2-d array, first index namespace, second index dbkey, value arbitrary

Definition at line 52 of file LinkBatch.php.


The documentation for this class was generated from the following file: