MediaWiki
1.27.1
|
Public Member Functions | |
__construct (IDatabase $db, $table, $primaryKey, $batchSize) | |
addConditions (array $conditions) | |
addJoinConditions (array $conditions) | |
current () | |
extractPrimaryKeys ($row) | |
Extracts the primary key(s) from a database row. More... | |
getChildren () | |
hasChildren () | |
key () | |
next () | |
Fetch the next set of rows from the database. More... | |
rewind () | |
Reset the iterator to the begining of the table. More... | |
setFetchColumns (array $columns) | |
valid () | |
Protected Member Functions | |
buildConditions () | |
Uses the primary key list and the maximal result row from the previous iteration to build an SQL condition sufficient for selecting the next page of results. More... | |
buildGreaterThanCondition (array $quotedMaximumValues) | |
Given an array of column names and their maximum value generate an SQL condition where all keys except the last match $quotedMaximumValues exactly and the last column is greater than the matching value in $quotedMaximumValues. More... | |
Protected Attributes | |
$batchSize | |
$conditions = [] | |
$db | |
$fetchColumns | |
$joinConditions = [] | |
$orderBy | |
$primaryKey | |
$table | |
Private Attributes | |
$current = [] | |
integer | $key |
key 0-indexed number of pages fetched since self::reset() More... | |
Definition at line 26 of file BatchRowIterator.php.
BatchRowIterator::__construct | ( | IDatabase | $db, |
$table, | |||
$primaryKey, | |||
$batchSize | |||
) |
IDatabase | $db | The database to read from |
string | $table | The name of the table to read from |
string | array | $primaryKey | The name or names of the primary key columns |
integer | $batchSize | The number of rows to fetch per iteration |
MWException |
Definition at line 87 of file BatchRowIterator.php.
References $batchSize, $db, $primaryKey, $table, array(), and table.
BatchRowIterator::addConditions | ( | array | $conditions | ) |
array | $condition | Query conditions suitable for use with IDatabase::select |
Definition at line 103 of file BatchRowIterator.php.
References conditions.
BatchRowIterator::addJoinConditions | ( | array | $conditions | ) |
array | $condition | Query join conditions suitable for use with IDatabase::select |
Definition at line 111 of file BatchRowIterator.php.
|
protected |
Uses the primary key list and the maximal result row from the previous iteration to build an SQL condition sufficient for selecting the next page of results.
All except the final key use =
conditions while the final key uses a >
condition
Example output: array( '( foo = 42 AND bar > 7 ) OR ( foo > 42 )' )
Definition at line 224 of file BatchRowIterator.php.
References $conditions, as, buildGreaterThanCondition(), and current().
Referenced by next().
|
protected |
Given an array of column names and their maximum value generate an SQL condition where all keys except the last match $quotedMaximumValues exactly and the last column is greater than the matching value in $quotedMaximumValues.
array | $quotedMaximumValues | The maximum values quoted with $this->db->addQuotes() |
Definition at line 266 of file BatchRowIterator.php.
References $conditions, $keys, $value, and as.
Referenced by buildConditions().
BatchRowIterator::current | ( | ) |
Definition at line 148 of file BatchRowIterator.php.
References $current.
Referenced by buildConditions(), getChildren(), hasChildren(), next(), and rewind().
BatchRowIterator::extractPrimaryKeys | ( | $row | ) |
Extracts the primary key(s) from a database row.
stdClass | $row | An individual database row from this iterator |
Definition at line 137 of file BatchRowIterator.php.
References as.
BatchRowIterator::getChildren | ( | ) |
BatchRowIterator::hasChildren | ( | ) |
Definition at line 178 of file BatchRowIterator.php.
References current().
Definition at line 155 of file BatchRowIterator.php.
References $key.
BatchRowIterator::next | ( | ) |
Fetch the next set of rows from the database.
Definition at line 192 of file BatchRowIterator.php.
References $res, buildConditions(), current(), key(), and table.
Referenced by rewind().
BatchRowIterator::rewind | ( | ) |
Reset the iterator to the begining of the table.
Definition at line 162 of file BatchRowIterator.php.
BatchRowIterator::setFetchColumns | ( | array | $columns | ) |
array | $columns | List of column names to select from the table suitable for use with IDatabase::select() |
Definition at line 119 of file BatchRowIterator.php.
BatchRowIterator::valid | ( | ) |
Definition at line 171 of file BatchRowIterator.php.
References $current.
|
protected |
Definition at line 46 of file BatchRowIterator.php.
Referenced by __construct().
|
protected |
Definition at line 52 of file BatchRowIterator.php.
Referenced by buildConditions(), and buildGreaterThanCondition().
|
private |
Definition at line 73 of file BatchRowIterator.php.
|
protected |
Definition at line 31 of file BatchRowIterator.php.
Referenced by __construct().
|
protected |
Definition at line 63 of file BatchRowIterator.php.
|
protected |
Definition at line 57 of file BatchRowIterator.php.
|
private |
key 0-indexed number of pages fetched since self::reset()
Definition at line 78 of file BatchRowIterator.php.
Referenced by key().
|
protected |
Definition at line 68 of file BatchRowIterator.php.
|
protected |
Definition at line 41 of file BatchRowIterator.php.
Referenced by __construct().
|
protected |
Definition at line 36 of file BatchRowIterator.php.
Referenced by __construct().