MediaWiki
REL1_22
|
Constructor class for key/value blob data kept in external repositories. More...
Static Public Member Functions | |
static | batchFetchFromURLs (array $urls) |
Fetch data from multiple URLs with a minimum of round trips. | |
static | fetchFromURL ($url, array $params=array()) |
Fetch data from given URL. | |
static | getStoreObject ($proto, array $params=array()) |
Get an external store object of the given type, with the given parameters. | |
static | insert ($url, $data, array $params=array()) |
Store a data item to an external store, identified by a partial URL The protocol part is used to identify the class, the rest is passed to the class itself as a parameter. | |
static | insertToDefault ($data, array $params=array()) |
Like insert() above, but does more of the work for us. | |
static | insertToForeignDefault ($data, $wiki) |
static | insertWithFallback (array $tryStores, $data, array $params=array()) |
Like insert() above, but does more of the work for us. |
Constructor class for key/value blob data kept in external repositories.
Objects in external stores are defined by a special URL. The URL is of the form "<store protocol>://<location>/<object name>". The protocol is used to determine what ExternalStoreMedium class is used. The location identifies particular storage instances or database clusters for store class to use.
When an object is inserted into a store, the calling code uses a partial URL of the form "<store protocol>://<location>" and receives the full object URL on success. This is useful since object names can be sequential IDs, UUIDs, or hashes. Callers are not responsible for unique name generation.
External repositories might be populated by maintenance/async scripts, thus partial moving of data may be possible, as well as the possibility to have any storage format (i.e. for archives).
Definition at line 46 of file ExternalStore.php.
static ExternalStore::batchFetchFromURLs | ( | array $ | urls | ) | [static] |
Fetch data from multiple URLs with a minimum of round trips.
array | $urls | The URLs of the text to get |
Definition at line 100 of file ExternalStore.php.
References $retval, array(), as, and getStoreObject().
static ExternalStore::fetchFromURL | ( | $ | url, |
array $ | params = array() |
||
) | [static] |
Fetch data from given URL.
string | $url | The URL of the text to get |
array | $params | Associative array of ExternalStoreMedium parameters |
MWException |
Definition at line 74 of file ExternalStore.php.
References $params, $path, getStoreObject(), and list.
Referenced by DumpRev\execute(), FixBug20757\execute(), and ExternalStoreTest\testExternalFetchFromURL().
static ExternalStore::getStoreObject | ( | $ | proto, |
array $ | params = array() |
||
) | [static] |
Get an external store object of the given type, with the given parameters.
string | $proto | Type of external storage, should be a value in $wgExternalStores |
array | $params | Associative array of ExternalStoreMedium parameters |
Definition at line 54 of file ExternalStore.php.
References $params, and global.
Referenced by batchFetchFromURLs(), DumpRev\execute(), fetchFromURL(), insert(), and insertWithFallback().
static ExternalStore::insert | ( | $ | url, |
$ | data, | ||
array $ | params = array() |
||
) | [static] |
Store a data item to an external store, identified by a partial URL The protocol part is used to identify the class, the rest is passed to the class itself as a parameter.
string | $url | A partial external store URL ("<store type>://<location>") |
$data | string | |
array | $params | Associative array of ExternalStoreMedium parameters |
MWException |
Definition at line 137 of file ExternalStore.php.
References $params, $path, getStoreObject(), and list.
static ExternalStore::insertToDefault | ( | $ | data, |
array $ | params = array() |
||
) | [static] |
Like insert() above, but does more of the work for us.
This function does not need a url param, it builds it by itself. It also fails-over to the next possible clusters provided by $wgDefaultExternalStore.
string | $data | |
array | $params | Associative array of ExternalStoreMedium parameters |
MWException |
Definition at line 167 of file ExternalStore.php.
References $params, array(), global, and insertWithFallback().
Referenced by insertToForeignDefault().
static ExternalStore::insertToForeignDefault | ( | $ | data, |
$ | wiki | ||
) | [static] |
$data | string |
$wiki | string |
MWException |
Definition at line 224 of file ExternalStore.php.
References array(), and insertToDefault().
static ExternalStore::insertWithFallback | ( | array $ | tryStores, |
$ | data, | ||
array $ | params = array() |
||
) | [static] |
Like insert() above, but does more of the work for us.
This function does not need a url param, it builds it by itself. It also fails-over to the next possible clusters as provided in the first parameter.
array | $tryStores | refer to $wgDefaultExternalStore |
string | $data | |
array | $params | Associative array of ExternalStoreMedium parameters |
MWException |
Definition at line 185 of file ExternalStore.php.
References $error, $params, $path, getStoreObject(), list, wfDebug(), and wfDebugLog().
Referenced by insertToDefault().