MediaWiki REL1_33
|
Maintenance script to provide RDF representation of the recent changes in category tree. More...
Public Member Functions | |
__construct () | |
Default constructor. | |
execute () | |
Do the actual work. | |
getRdf () | |
Get accumulated RDF. | |
handleAdds (IDatabase $dbr, $output) | |
handleCategorization (IDatabase $dbr, $output) | |
Handles categorization changes. | |
handleDeletes (IDatabase $dbr, $output) | |
Handle category deletes. | |
handleEdits (IDatabase $dbr, $output) | |
Handle edits for category texts. | |
handleMoves (IDatabase $dbr, $output) | |
handleRestores (IDatabase $dbr, $output) | |
initialize () | |
Initialize external service classes. | |
updateTS ( $timestamp) | |
Generate SPARQL Update code for updating dump timestamp. | |
Public Member Functions inherited from Maintenance | |
function | __construct () |
checkRequiredExtensions () | |
Verify that the required extensions are installed. | |
cleanupChanneled () | |
Clean up channeled output. | |
clearParamsAndArgs () | |
Clear all params and arguments. | |
function | execute () |
finalSetup () | |
Handle some last-minute setup here. | |
getConfig () | |
getDbType () | |
Does the script need different DB access? By default, we give Maintenance scripts normal rights to the DB. | |
getName () | |
Get the script's name. | |
globals () | |
Potentially debug globals. | |
isQuiet () | |
loadParamsAndArgs ( $self=null, $opts=null, $args=null) | |
Process command line arguments $mOptions becomes an array with keys set to the option names $mArgs becomes a zero-based array containing the non-option arguments. | |
loadSettings () | |
Generic setup for most installs. | |
loadWithArgv ( $argv) | |
Load params and arguments from a given array of command-line arguments. | |
memoryLimit () | |
Normally we disable the memory_limit when running admin scripts. | |
outputChanneled ( $msg, $channel=null) | |
Message outputter with channeled message support. | |
purgeRedundantText ( $delete=true) | |
Support function for cleaning up redundant text records. | |
runChild ( $maintClass, $classFile=null) | |
Run a child maintenance script. | |
setAgentAndTriggers () | |
Set triggers like when to try to run deferred updates. | |
setConfig (Config $config) | |
setDB (IDatabase $db) | |
Sets database object to be returned by getDB(). | |
setup () | |
Do some sanity checking and basic setup. | |
updateSearchIndex ( $maxLockTime, $callback, $dbw, $results) | |
Perform a search index update with locking. | |
updateSearchIndexForPage ( $dbw, $pageId) | |
Update the searchindex table for a given pageid. | |
validateParamsAndArgs () | |
Run some validation checks on the params, etc. | |
Public Attributes | |
const | SPARQL_DELETE = |
Delete query. | |
const | SPARQL_DELETE_INSERT = |
Delete/Insert query. | |
const | SPARQL_INSERT = |
Insert query. | |
Public Attributes inherited from Maintenance | |
resource | $fileHandle |
Used when creating separate schema files. | |
array | $orderedOptions = [] |
Used to read the options in the order they were passed. | |
const | DB_ADMIN = 2 |
const | DB_NONE = 0 |
Constants for DB access type. | |
const | DB_STD = 1 |
const | STDIN_ALL = 'all' |
Protected Member Functions | |
getCategoryLinksIterator (IDatabase $dbr, array $ids) | |
Get iterator for links for categories. | |
getChangedCatsIterator (IDatabase $dbr, $type) | |
Fetch categorization changes or edits. | |
getDeletedCatsIterator (IDatabase $dbr) | |
Fetch deleted categories. | |
getMovedCatsIterator (IDatabase $dbr) | |
Fetch moved categories. | |
getNewCatsIterator (IDatabase $dbr) | |
Fetch newly created categories. | |
getRestoredCatsIterator (IDatabase $dbr) | |
Fetch restored categories. | |
Protected Member Functions inherited from Maintenance | |
activateProfiler () | |
Activate the profiler (assuming $wgProfiler is set) | |
addArg ( $arg, $description, $required=true) | |
Add some args that are needed. | |
addDefaultParams () | |
Add the default parameters to the scripts. | |
addDescription ( $text) | |
Set the description text. | |
addOption ( $name, $description, $required=false, $withArg=false, $shortName=false, $multiOccurrence=false) | |
Add a parameter to the script. | |
adjustMemoryLimit () | |
Adjusts PHP's memory limit to better suit our needs, if needed. | |
afterFinalSetup () | |
Execute a callback function at the end of initialisation. | |
beginTransaction (IDatabase $dbw, $fname) | |
Begin a transcation on a DB. | |
commitTransaction (IDatabase $dbw, $fname) | |
Commit the transcation on a DB handle and wait for replica DBs to catch up. | |
countDown ( $seconds) | |
Count down from $seconds to zero on the terminal, with a one-second pause between showing each number. | |
deleteOption ( $name) | |
Remove an option. | |
error ( $err, $die=0) | |
Throw an error to the user. | |
fatalError ( $msg, $exitCode=1) | |
Output a message and terminate the current script. | |
getArg ( $argId=0, $default=null) | |
Get an argument. | |
getBatchSize () | |
Returns batch size. | |
getDB ( $db, $groups=[], $wiki=false) | |
Returns a database to be used by current maintenance script. | |
getDir () | |
Get the maintenance directory. | |
getOption ( $name, $default=null) | |
Get an option, or return the default. | |
getStdin ( $len=null) | |
Return input from stdin. | |
hasArg ( $argId=0) | |
Does a given argument exist? | |
hasOption ( $name) | |
Checks to see if a particular option exists. | |
loadSpecialVars () | |
Handle the special variables that are global to all scripts. | |
maybeHelp ( $force=false) | |
Maybe show the help. | |
output ( $out, $channel=null) | |
Throw some output to the user. | |
requireExtension ( $name) | |
Indicate that the specified extension must be loaded before the script can run. | |
rollbackTransaction (IDatabase $dbw, $fname) | |
Rollback the transcation on a DB handle. | |
setAllowUnregisteredOptions ( $allow) | |
Sets whether to allow unregistered options, which are options passed to a script that do not match an expected parameter. | |
setBatchSize ( $s=0) | |
Set the batch size. | |
supportsOption ( $name) | |
Checks to see if a particular option in supported. | |
Protected Attributes | |
int[] | $processed = [] |
List of processed page IDs, so we don't try to process same thing twice. | |
Protected Attributes inherited from Maintenance | |
$mAllowUnregisteredOptions = false | |
$mArgList = [] | |
$mArgs = [] | |
int | $mBatchSize = null |
Batch size. | |
$mDbPass | |
$mDbUser | |
$mDescription = '' | |
$mInputLoaded = false | |
$mOptions = [] | |
$mParams = [] | |
$mQuiet = false | |
$mSelf | |
$mShortParamsMap = [] | |
Private Member Functions | |
addIndex (BatchRowIterator $it) | |
Need to force index, somehow on terbium the optimizer chooses wrong one. | |
addTimestampConditions (BatchRowIterator $it, IDatabase $dbr) | |
Add timestamp limits to iterator. | |
getCategoriesUpdate (IDatabase $dbr, $deleteUrls, $pages, $mark) | |
Get SPARQL for updating set of categories. | |
getInsertRdf () | |
Get the text of SPARQL INSERT DATA clause. | |
setupChangesIterator (IDatabase $dbr, array $columns=[], array $extra_tables=[]) | |
Set up standard iterator for retrieving category changes. | |
writeCategoryData ( $row) | |
Write category data to RDF. | |
writeParentCategories (IDatabase $dbr, $pages) | |
Write parent data for a set of categories. | |
Private Attributes | |
CategoriesRdf | $categoriesRdf |
Categories RDF helper. | |
$endTS | |
RdfWriter | $rdfWriter |
$startTS | |
Additional Inherited Members | |
Static Public Member Functions inherited from Maintenance | |
static | getTermSize () |
Get the terminal size as a two-element array where the first element is the width (number of columns) and the second element is the height (number of rows). | |
static | posix_isatty ( $fd) |
Wrapper for posix_isatty() We default as considering stdin a tty (for nice readline methods) but treating stout as not a tty to avoid color codes. | |
static | readconsole ( $prompt='> ') |
Prompt the console for input. | |
static | requireTestsAutoloader () |
Call this to set up the autoloader to allow classes to be used from the tests directory. | |
static | setLBFactoryTriggers (LBFactory $LBFactory, Config $config) |
static | shouldExecute () |
Should we execute the maintenance script, or just allow it to be included as a standalone class? It checks that the call stack only includes this function and "requires" (meaning was called from the file scope) | |
Maintenance script to provide RDF representation of the recent changes in category tree.
Definition at line 31 of file categoryChangesAsRdf.php.
CategoryChangesAsRdf::__construct | ( | ) |
Default constructor.
Children should call this first if implementing their own constructors
Reimplemented from Maintenance.
Definition at line 92 of file categoryChangesAsRdf.php.
References Maintenance\addDescription(), Maintenance\addOption(), and Maintenance\setBatchSize().
|
private |
Need to force index, somehow on terbium the optimizer chooses wrong one.
BatchRowIterator | $it |
Definition at line 396 of file categoryChangesAsRdf.php.
References BatchRowIterator\addOptions().
Referenced by getChangedCatsIterator(), getDeletedCatsIterator(), getMovedCatsIterator(), and getRestoredCatsIterator().
|
private |
Add timestamp limits to iterator.
BatchRowIterator | $it | Iterator |
IDatabase | $dbr |
Definition at line 385 of file categoryChangesAsRdf.php.
References $dbr, and BatchRowIterator\addConditions().
Referenced by getDeletedCatsIterator(), and setupChangesIterator().
CategoryChangesAsRdf::execute | ( | ) |
Do the actual work.
All child classes will need to implement this
Reimplemented from Maintenance.
Definition at line 115 of file categoryChangesAsRdf.php.
References $dbr, $endTS, $output, $startTS, $wgRCMaxAge, DB_REPLICA, Maintenance\error(), Maintenance\getDB(), Maintenance\getOption(), getRdf(), handleAdds(), handleCategorization(), handleDeletes(), handleEdits(), handleMoves(), handleRestores(), initialize(), and updateTS().
|
private |
Get SPARQL for updating set of categories.
IDatabase | $dbr | |
string[] | $deleteUrls | List of URIs to be deleted, with <> |
string[] | $pages | List of categories: id => title |
string | $mark | Marks which operation requests the query |
Definition at line 191 of file categoryChangesAsRdf.php.
References getInsertRdf(), and writeParentCategories().
Referenced by handleCategorization(), handleDeletes(), handleEdits(), and handleMoves().
Get iterator for links for categories.
IDatabase | $dbr | |
int[] | $ids | List of page IDs |
Definition at line 408 of file categoryChangesAsRdf.php.
References $dbr.
Referenced by writeParentCategories().
|
protected |
Fetch categorization changes or edits.
IDatabase | $dbr |
Definition at line 368 of file categoryChangesAsRdf.php.
References $type, addIndex(), NS_CATEGORY, and setupChangesIterator().
Referenced by handleCategorization(), and handleEdits().
|
protected |
Fetch deleted categories.
IDatabase | $dbr |
Definition at line 321 of file categoryChangesAsRdf.php.
References $dbr, addIndex(), addTimestampConditions(), NS_CATEGORY, and RC_LOG.
Referenced by handleDeletes().
|
private |
Get the text of SPARQL INSERT DATA clause.
Definition at line 175 of file categoryChangesAsRdf.php.
References getRdf().
Referenced by getCategoriesUpdate(), handleAdds(), and handleRestores().
|
protected |
Fetch moved categories.
IDatabase | $dbr |
Definition at line 301 of file categoryChangesAsRdf.php.
References addIndex(), NS_CATEGORY, RC_LOG, and setupChangesIterator().
Referenced by handleMoves().
|
protected |
Fetch newly created categories.
IDatabase | $dbr |
Definition at line 287 of file categoryChangesAsRdf.php.
References NS_CATEGORY, and setupChangesIterator().
Referenced by handleAdds().
CategoryChangesAsRdf::getRdf | ( | ) |
Get accumulated RDF.
Definition at line 427 of file categoryChangesAsRdf.php.
Referenced by execute(), and getInsertRdf().
|
protected |
Fetch restored categories.
IDatabase | $dbr |
Definition at line 348 of file categoryChangesAsRdf.php.
References addIndex(), NS_CATEGORY, RC_LOG, and setupChangesIterator().
Referenced by handleRestores().
CategoryChangesAsRdf::handleAdds | ( | IDatabase | $dbr, |
$output | |||
) |
IDatabase | $dbr | |
resource | $output |
Definition at line 525 of file categoryChangesAsRdf.php.
References $batch, $output, as, getInsertRdf(), getNewCatsIterator(), writeCategoryData(), and writeParentCategories().
Referenced by execute().
CategoryChangesAsRdf::handleCategorization | ( | IDatabase | $dbr, |
$output | |||
) |
Handles categorization changes.
IDatabase | $dbr | |
resource | $output |
Definition at line 583 of file categoryChangesAsRdf.php.
References $batch, $dbr, $output, as, getCategoriesUpdate(), getChangedCatsIterator(), NS_CATEGORY, RC_CATEGORIZE, and writeCategoryData().
Referenced by execute().
CategoryChangesAsRdf::handleDeletes | ( | IDatabase | $dbr, |
$output | |||
) |
Handle category deletes.
IDatabase | $dbr | |
resource | $output | File to write the output |
Definition at line 436 of file categoryChangesAsRdf.php.
References $batch, $output, as, getCategoriesUpdate(), and getDeletedCatsIterator().
Referenced by execute().
CategoryChangesAsRdf::handleEdits | ( | IDatabase | $dbr, |
$output | |||
) |
Handle edits for category texts.
IDatabase | $dbr | |
resource | $output |
Definition at line 553 of file categoryChangesAsRdf.php.
References $batch, $output, as, getCategoriesUpdate(), getChangedCatsIterator(), RC_EDIT, and writeCategoryData().
Referenced by execute().
CategoryChangesAsRdf::handleMoves | ( | IDatabase | $dbr, |
$output | |||
) |
IDatabase | $dbr | |
resource | $output |
Definition at line 466 of file categoryChangesAsRdf.php.
References $batch, $output, as, getCategoriesUpdate(), getMovedCatsIterator(), NS_CATEGORY, and writeCategoryData().
Referenced by execute().
CategoryChangesAsRdf::handleRestores | ( | IDatabase | $dbr, |
$output | |||
) |
IDatabase | $dbr | |
resource | $output |
Definition at line 496 of file categoryChangesAsRdf.php.
References $batch, $output, as, getInsertRdf(), getRestoredCatsIterator(), writeCategoryData(), and writeParentCategories().
Referenced by execute().
CategoryChangesAsRdf::initialize | ( | ) |
Initialize external service classes.
Definition at line 109 of file categoryChangesAsRdf.php.
Referenced by execute().
|
private |
Set up standard iterator for retrieving category changes.
IDatabase | $dbr | |
string[] | $columns | List of additional fields to get |
string[] | $extra_tables | List of additional tables to join |
Definition at line 246 of file categoryChangesAsRdf.php.
References $dbr, $tables, and addTimestampConditions().
Referenced by getChangedCatsIterator(), getMovedCatsIterator(), getNewCatsIterator(), and getRestoredCatsIterator().
CategoryChangesAsRdf::updateTS | ( | $timestamp | ) |
Generate SPARQL Update code for updating dump timestamp.
string | int | $timestamp | Timestamp for last change |
Definition at line 221 of file categoryChangesAsRdf.php.
References DELETE, and wfTimestamp().
Referenced by execute().
|
private |
Write category data to RDF.
stdclass | $row | Database row |
Definition at line 453 of file categoryChangesAsRdf.php.
Referenced by handleAdds(), handleCategorization(), handleEdits(), handleMoves(), and handleRestores().
|
private |
Write parent data for a set of categories.
The list has the child categories.
IDatabase | $dbr | |
string[] | $pages | List of child categories: id => title |
Definition at line 210 of file categoryChangesAsRdf.php.
References as, and getCategoryLinksIterator().
Referenced by getCategoriesUpdate(), handleAdds(), and handleRestores().
|
private |
Categories RDF helper.
Definition at line 80 of file categoryChangesAsRdf.php.
|
private |
Definition at line 83 of file categoryChangesAsRdf.php.
Referenced by execute().
|
protected |
List of processed page IDs, so we don't try to process same thing twice.
Definition at line 90 of file categoryChangesAsRdf.php.
|
private |
Definition at line 75 of file categoryChangesAsRdf.php.
|
private |
Definition at line 82 of file categoryChangesAsRdf.php.
Referenced by execute().
const CategoryChangesAsRdf::SPARQL_DELETE = |
Delete query.
Definition at line 45 of file categoryChangesAsRdf.php.
const CategoryChangesAsRdf::SPARQL_DELETE_INSERT = |
Delete/Insert query.
Definition at line 59 of file categoryChangesAsRdf.php.
const CategoryChangesAsRdf::SPARQL_INSERT = |
Insert query.
Definition at line 35 of file categoryChangesAsRdf.php.