MediaWiki REL1_35
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...

Collaboration diagram for LinkBatch:

Public Member Functions

 __construct (iterable $arr=[], ?LinkCache $linkCache=null, ?TitleFormatter $titleFormatter=null, ?Language $contentLanguage=null, ?GenderCache $genderCache=null, ?ILoadBalancer $loadBalancer=null)
 
 add ( $ns, $dbkey)
 
 addObj ( $linkTarget)
 
 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.
 
 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

 $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

 $caller
 For debugging which method is using this class.
 

Private Attributes

Language null $contentLanguage
 
GenderCache null $genderCache
 
LinkCache null $linkCache
 
ILoadBalancer null $loadBalancer
 
TitleFormatter null $titleFormatter
 

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 35 of file LinkBatch.php.

Constructor & Destructor Documentation

◆ __construct()

LinkBatch::__construct ( iterable  $arr = [],
?LinkCache  $linkCache = null,
?TitleFormatter  $titleFormatter = null,
?Language  $contentLanguage = null,
?GenderCache  $genderCache = null,
?ILoadBalancer  $loadBalancer = null 
)
Parameters
Traversable | LinkTarget[]$arrInitial items to be added to the batch
LinkCache | null$linkCache
TitleFormatter | null$titleFormatter
Language | null$contentLanguage
GenderCache | null$genderCache
ILoadBalancer | null$loadBalancer
Deprecated:
1.35 Use makeLinkBatch of the LinkBatchFactory service instead

Definition at line 80 of file LinkBatch.php.

References $contentLanguage, $genderCache, $linkCache, $loadBalancer, $titleFormatter, and addObj().

Member Function Documentation

◆ add()

◆ addObj()

LinkBatch::addObj (   $linkTarget)
Parameters
LinkTarget$linkTarget

Definition at line 118 of file LinkBatch.php.

References add(), and wfDebug().

Referenced by __construct(), CategoryPager\getBody(), and MediaWiki\Cache\LinkBatchFactory\newLinkBatch().

◆ addResultToCache()

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
array Array of remaining titles

Definition at line 203 of file LinkBatch.php.

References $cache, $res, $title, TitleValue\tryNew(), and wfLogWarning().

Referenced by executeInto().

◆ constructSet()

LinkBatch::constructSet (   $prefix,
  $db 
)

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

Parameters
string$prefixThe appropriate table's field name prefix ('page', 'pl', etc)
IDatabase$dbDB object to use
Returns
string|bool String with SQL where clause fragment, or false if no items.

Definition at line 298 of file LinkBatch.php.

Referenced by doQuery().

◆ doGenderQuery()

LinkBatch::doGenderQuery ( )

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

Returns
bool Whether the query was successful

Definition at line 277 of file LinkBatch.php.

References isEmpty().

Referenced by executeInto().

◆ doQuery()

LinkBatch::doQuery ( )

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

Returns
bool|IResultWrapper

Definition at line 247 of file LinkBatch.php.

References $caller, $dbr, $res, constructSet(), DB_REPLICA, and isEmpty().

Referenced by executeInto().

◆ execute()

LinkBatch::execute ( )

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

Returns
array Mapping PDBK to ID

Definition at line 174 of file LinkBatch.php.

References executeInto().

◆ executeInto()

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
array Remaining IDs

Definition at line 185 of file LinkBatch.php.

References $cache, $res, addResultToCache(), doGenderQuery(), and doQuery().

Referenced by execute().

◆ getSize()

LinkBatch::getSize ( )

Returns the size of the batch.

Returns
int

Definition at line 165 of file LinkBatch.php.

Referenced by isEmpty().

◆ isEmpty()

LinkBatch::isEmpty ( )

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

Returns
bool

Definition at line 156 of file LinkBatch.php.

References getSize().

Referenced by doGenderQuery(), and doQuery().

◆ setArray()

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$array

Definition at line 147 of file LinkBatch.php.

Referenced by OutputPage\addCategoryLinksToLBAndGetResult(), and ApiParse\formatCategoryLinks().

◆ setCaller()

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 109 of file LinkBatch.php.

References $caller.

Referenced by BlockListPager\preprocessResults().

Member Data Documentation

◆ $caller

LinkBatch::$caller
protected

For debugging which method is using this class.

Definition at line 44 of file LinkBatch.php.

Referenced by doQuery(), and setCaller().

◆ $contentLanguage

Language null LinkBatch::$contentLanguage
private

Definition at line 59 of file LinkBatch.php.

Referenced by __construct().

◆ $data

LinkBatch::$data = []

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

Definition at line 39 of file LinkBatch.php.

◆ $genderCache

GenderCache null LinkBatch::$genderCache
private

Definition at line 64 of file LinkBatch.php.

Referenced by __construct().

◆ $linkCache

LinkCache null LinkBatch::$linkCache
private

Definition at line 49 of file LinkBatch.php.

Referenced by __construct().

◆ $loadBalancer

ILoadBalancer null LinkBatch::$loadBalancer
private

Definition at line 69 of file LinkBatch.php.

Referenced by __construct().

◆ $titleFormatter

TitleFormatter null LinkBatch::$titleFormatter
private

Definition at line 54 of file LinkBatch.php.

Referenced by __construct().


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