MediaWiki REL1_40
|
Class for fetching backlink lists, approximate backlink counts and partitions. More...
Public Member Functions | |
__construct (WANObjectCache $wanCache, HookContainer $hookContainer, PageReference $page) | |
Create a new BacklinkCache. | |
getCascadeProtectedLinkPages () | |
Get a PageIdentity iterator for cascade-protected template/file use backlinks. | |
getCascadeProtectedLinks () | |
Get a Title iterator for cascade-protected template/file use backlinks. | |
getLinkPages (string $table, $startId=false, $endId=false, $max=INF) | |
Get the backlinks for a given table. | |
getLinks ( $table, $startId=false, $endId=false, $max=INF) | |
Get the backlinks for a given table. | |
getNumLinks ( $table, $max=INF) | |
Get the approximate number of backlinks. | |
getPage () | |
hasLinks ( $table) | |
Check if there are any backlinks. | |
partition ( $table, $batchSize) | |
Partition the backlinks into batches. | |
Static Public Member Functions | |
static | get (PageReference $page) |
Create a new BacklinkCache or reuse any existing one. | |
Protected Member Functions | |
getDB () | |
Get the replica DB connection to the database. | |
getPrefix ( $table) | |
Get the field name prefix for a given table. | |
partitionResult ( $res, $batchSize, $isComplete=true) | |
Partition a DB result with backlinks in it into batches. | |
queryLinks ( $table, $startId, $endId, $max, $select='all') | |
Get the backlinks for a given table. | |
Protected Attributes | |
IResultWrapper[] | $fullResultCache = [] |
Contains the whole links from a database result. | |
PageReference | $page |
Local copy of a PageReference object. | |
array[] | $partitionCache = [] |
Multi dimensions array representing batches. | |
WANObjectCache | $wanCache |
Class for fetching backlink lists, approximate backlink counts and partitions.
This is a shared cache.
Instances of this class should typically be fetched with the method ::getBacklinkCache() from the BacklinkCacheFactory service.
Ideally you should only get your backlinks from here when you think there is some advantage in caching them. Otherwise, it's just a waste of memory.
Introduced by r47317
Definition at line 58 of file BacklinkCache.php.
BacklinkCache::__construct | ( | WANObjectCache | $wanCache, |
HookContainer | $hookContainer, | ||
PageReference | $page ) |
Create a new BacklinkCache.
WANObjectCache | $wanCache | |
HookContainer | $hookContainer | |
PageReference | $page | Page to create a backlink cache for |
Definition at line 103 of file BacklinkCache.php.
|
static |
Create a new BacklinkCache or reuse any existing one.
Currently, only one cache instance can exist; callers that need multiple backlink cache objects should keep them in scope.
PageReference | $page | Page to get a backlink cache for |
Definition at line 123 of file BacklinkCache.php.
BacklinkCache::getCascadeProtectedLinkPages | ( | ) |
Get a PageIdentity iterator for cascade-protected template/file use backlinks.
Definition at line 527 of file BacklinkCache.php.
BacklinkCache::getCascadeProtectedLinks | ( | ) |
Get a Title iterator for cascade-protected template/file use backlinks.
Definition at line 541 of file BacklinkCache.php.
References wfDeprecated().
|
protected |
Get the replica DB connection to the database.
Definition at line 143 of file BacklinkCache.php.
References DB_REPLICA, and wfGetDB().
BacklinkCache::getLinkPages | ( | string | $table, |
$startId = false, | |||
$endId = false, | |||
$max = INF ) |
Get the backlinks for a given table.
Cached in process memory only.
string | $table | |
int | bool | $startId | |
int | bool | $endId | |
int | float | $max | Integer, or INF for no max |
Definition at line 156 of file BacklinkCache.php.
BacklinkCache::getLinks | ( | $table, | |
$startId = false, | |||
$endId = false, | |||
$max = INF ) |
Get the backlinks for a given table.
Cached in process memory only.
string | $table | |
int | bool | $startId | |
int | bool | $endId | |
int | float | $max | Integer, or INF for no max |
Definition at line 175 of file BacklinkCache.php.
References wfDeprecated().
BacklinkCache::getNumLinks | ( | $table, | |
$max = INF ) |
Get the approximate number of backlinks.
string | $table | |
int | float | $max | Only count up to this many backlinks, or INF for no max |
Definition at line 366 of file BacklinkCache.php.
References Wikimedia\Rdbms\Database\getCacheSetOptions(), and getDB().
BacklinkCache::getPage | ( | ) |
|
protected |
Get the field name prefix for a given table.
string | $table |
MWException |
Definition at line 235 of file BacklinkCache.php.
BacklinkCache::hasLinks | ( | $table | ) |
Check if there are any backlinks.
string | $table |
Definition at line 356 of file BacklinkCache.php.
BacklinkCache::partition | ( | $table, | |
$batchSize ) |
Partition the backlinks into batches.
Returns an array giving the start and end of each range. The first batch has a start of false, and the last batch has an end of false.
string | $table | The links table name |
int | $batchSize |
Definition at line 420 of file BacklinkCache.php.
References $res, Wikimedia\Rdbms\Database\getCacheSetOptions(), getDB(), and wfDebug().
|
protected |
Partition a DB result with backlinks in it into batches.
IResultWrapper | $res | Database result |
int | $batchSize | |
bool | $isComplete | Whether $res includes all the backlinks |
MWException |
Definition at line 486 of file BacklinkCache.php.
References $res.
|
protected |
Get the backlinks for a given table.
Cached in process memory only.
string | $table | |
int | bool | $startId | |
int | bool | $endId | |
int | $max | |
string | $select | 'all' or 'ids' |
Definition at line 189 of file BacklinkCache.php.
|
protected |
Contains the whole links from a database result.
This is raw data that will be partitioned in $partitionCache
Initialized with BacklinkCache::queryLinks()
Definition at line 80 of file BacklinkCache.php.
|
protected |
Local copy of a PageReference object.
Definition at line 92 of file BacklinkCache.php.
|
protected |
Multi dimensions array representing batches.
Keys are:
(string) links table name (int) batch size 'numRows' : Number of rows for this link table 'batches' : [ $start, $end ]
Definition at line 70 of file BacklinkCache.php.
|
protected |
Definition at line 83 of file BacklinkCache.php.