MediaWiki REL1_27
|
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=[]) |
Fetch data from given URL. | |
static | getStoreObject ( $proto, array $params=[]) |
Get an external store object of the given type, with the given parameters. | |
static | insert ( $url, $data, array $params=[]) |
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=[]) |
Like insert() above, but does more of the work for us. | |
static | insertToForeignDefault ( $data, $wiki) |
static | insertWithFallback (array $tryStores, $data, array $params=[]) |
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 |
Fetch data from multiple URLs with a minimum of round trips.
array | $urls | The URLs of the text to get |
Definition at line 101 of file ExternalStore.php.
References $retval, $urls, as, and getStoreObject().
|
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 75 of file ExternalStore.php.
References $params, $path, getStoreObject(), and list.
Referenced by DumpRev\execute(), FixBug20757\execute(), Revision\getRevisionText(), HistoryBlobStub\getText(), FixBug20757\isUnbrokenStub(), and ExternalStoreTest\testExternalFetchFromURL().
|
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, $wgExternalStores, and global.
Referenced by batchFetchFromURLs(), DumpRev\execute(), fetchFromURL(), MediaWikiTestCase\getExternalStoreDatabaseConnections(), insert(), and insertWithFallback().
|
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>") |
string | $data | |
array | $params | Associative array of ExternalStoreMedium parameters |
MWException |
Definition at line 139 of file ExternalStore.php.
References $params, $path, getStoreObject(), and list.
|
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 169 of file ExternalStore.php.
References $params, $wgDefaultExternalStore, array(), global, and insertWithFallback().
Referenced by Revision\insertOn(), and insertToForeignDefault().
|
static |
string | $data | |
string | $wiki |
MWException |
Definition at line 226 of file ExternalStore.php.
References insertToDefault().
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 187 of file ExternalStore.php.
References $params, $path, getStoreObject(), list, wfDebug(), and wfDebugLog().
Referenced by insertToDefault().