Aaron Schulz has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/394434 )
Change subject: Add missing @throw tags to IDatabase/Database
......................................................................
Add missing @throw tags to IDatabase/Database
Change-Id: I235c5beacce38e9121fb1db94ce410d010356fcf
---
M includes/libs/rdbms/database/Database.php
M includes/libs/rdbms/database/IDatabase.php
2 files changed, 38 insertions(+), 18 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/34/394434/1
diff --git a/includes/libs/rdbms/database/Database.php
b/includes/libs/rdbms/database/Database.php
index e04566e..9875d93 100644
--- a/includes/libs/rdbms/database/Database.php
+++ b/includes/libs/rdbms/database/Database.php
@@ -3273,14 +3273,15 @@
* @see WANObjectCache::getWithSetCallback()
*
* @param IDatabase $db1
- * @param IDatabase $dbs,...
+ * @param IDatabase $db2 [optional]
* @return array Map of values:
* - lag: highest lag of any of the DBs or false on error (e.g.
replication stopped)
* - since: oldest UNIX timestamp of any of the DB lag estimates
* - pending: whether any of the DBs have uncommitted changes
+ * @throws DBError
* @since 1.27
*/
- public static function getCacheSetOptions( IDatabase $db1 ) {
+ public static function getCacheSetOptions( IDatabase $db1, IDatabase
$db2 = null ) {
$res = [ 'lag' => 0, 'since' => INF, 'pending' => false ];
foreach ( func_get_args() as $db ) {
/** @var IDatabase $db */
diff --git a/includes/libs/rdbms/database/IDatabase.php
b/includes/libs/rdbms/database/IDatabase.php
index bbf88dc..65fc78e 100644
--- a/includes/libs/rdbms/database/IDatabase.php
+++ b/includes/libs/rdbms/database/IDatabase.php
@@ -525,9 +525,9 @@
* comment (you can use __METHOD__ or add some extra info)
* @param bool $tempIgnore Whether to avoid throwing an exception on
errors...
* maybe best to catch the exception instead?
- * @throws DBError
* @return bool|IResultWrapper True for a successful write query,
IResultWrapper object
* for a successful read query, or false on failure if $tempIgnore
set
+ * @throws DBError
*/
public function query( $sql, $fname = __METHOD__, $tempIgnore = false );
@@ -570,7 +570,7 @@
* @param string|array $join_conds The query join conditions. See
IDatabase::select() for details.
*
* @return mixed The value from the field
- * @throws DBQueryError
+ * @throws DBError
*/
public function selectField(
$table, $var, $cond = '', $fname = __METHOD__, $options = [],
$join_conds = []
@@ -593,7 +593,7 @@
* @param string|array $join_conds The query join conditions. See
IDatabase::select() for details.
*
* @return array The values from the field
- * @throws DBQueryError
+ * @throws DBError
* @since 1.25
*/
public function selectFieldValues(
@@ -758,7 +758,7 @@
* [ 'page' => [ 'LEFT JOIN', 'page_latest=rev_id' ] ]
*
* @return IResultWrapper Resulting rows
- * @throws DBQueryError
+ * @throws DBError
*/
public function select(
$table, $vars, $conds = '', $fname = __METHOD__,
@@ -799,7 +799,7 @@
* @param array|string $join_conds Join conditions
*
* @return stdClass|bool
- * @throws DBQueryError
+ * @throws DBError
*/
public function selectRow( $table, $vars, $conds, $fname = __METHOD__,
$options = [], $join_conds = []
@@ -824,7 +824,7 @@
* @param string $fname Function name for profiling
* @param array $options Options for select
* @return int Row count
- * @throws DBQueryError
+ * @throws DBError
*/
public function estimateRowCount(
$table, $vars = '*', $conds = '', $fname = __METHOD__, $options
= []
@@ -846,7 +846,7 @@
* @param array $options Options for select
* @param array $join_conds Join conditions (since 1.27)
* @return int Row count
- * @throws DBQueryError
+ * @throws DBError
*/
public function selectRowCount(
$tables, $vars = '*', $conds = '', $fname = __METHOD__,
$options = [], $join_conds = []
@@ -859,6 +859,7 @@
* @param string $field Filed to check on that table
* @param string $fname Calling function name (optional)
* @return bool Whether $table has filed $field
+ * @throws DBError
*/
public function fieldExists( $table, $field, $fname = __METHOD__ );
@@ -871,6 +872,7 @@
* @param string $index
* @param string $fname
* @return bool|null
+ * @throws DBError
*/
public function indexExists( $table, $index, $fname = __METHOD__ );
@@ -880,6 +882,7 @@
* @param string $table
* @param string $fname
* @return bool
+ * @throws DBError
*/
public function tableExists( $table, $fname = __METHOD__ );
@@ -925,6 +928,7 @@
* @param array $options Array of options
*
* @return bool
+ * @throws DBError
*/
public function insert( $table, $a, $fname = __METHOD__, $options = []
);
@@ -947,6 +951,7 @@
* - IGNORE: Ignore unique key conflicts
* - LOW_PRIORITY: MySQL-specific, see MySQL manual.
* @return bool
+ * @throws DBError
*/
public function update( $table, $values, $conds, $fname = __METHOD__,
$options = [] );
@@ -1167,6 +1172,7 @@
* @param array $rows Can be either a single row to insert, or multiple
rows,
* in the same format as for IDatabase::insert()
* @param string $fname Calling function name (use __METHOD__) for
logs/profiling
+ * @throws DBError
*/
public function replace( $table, $uniqueIndexes, $rows, $fname =
__METHOD__ );
@@ -1203,7 +1209,7 @@
* Values with integer keys form unquoted SET statements, which can
be used for
* things like "field = field + 1" or similar computed values.
* @param string $fname Calling function name (use __METHOD__) for
logs/profiling
- * @throws Exception
+ * @throws DBError
* @return bool
*/
public function upsert(
@@ -1228,7 +1234,7 @@
* @param array $conds Condition array of field names mapped to
variables,
* ANDed together in the WHERE clause
* @param string $fname Calling function name (use __METHOD__) for
logs/profiling
- * @throws DBUnexpectedError
+ * @throws DBError
*/
public function deleteJoin( $delTable, $joinTable, $delVar, $joinVar,
$conds,
$fname = __METHOD__
@@ -1243,6 +1249,7 @@
* @param string $fname Name of the calling function
* @throws DBUnexpectedError
* @return bool|IResultWrapper
+ * @throws DBError
*/
public function delete( $table, $conds, $fname = __METHOD__ );
@@ -1273,6 +1280,7 @@
* IDatabase::select() for details.
*
* @return bool
+ * @throws DBError
*/
public function insertSelect( $destTable, $srcTable, $varMap, $conds,
$fname = __METHOD__,
@@ -1354,6 +1362,7 @@
* Determines how long the server has been up
*
* @return int
+ * @throws DBError
*/
public function getServerUptime();
@@ -1394,13 +1403,15 @@
* @return int|null Zero if the replica DB was past that position
already,
* greater than zero if we waited for some period of time, less than
* zero if it timed out, and null on error
+ * @throws DBError
*/
public function masterPosWait( DBMasterPos $pos, $timeout );
/**
* Get the replication position of this replica DB
*
- * @return DBMasterPos|bool False if this is not a replica DB.
+ * @return DBMasterPos|bool False if this is not a replica DB
+ * @throws DBError
*/
public function getReplicaPos();
@@ -1408,6 +1419,7 @@
* Get the position of this master
*
* @return DBMasterPos|bool False if this is not a master
+ * @throws DBError
*/
public function getMasterPos();
@@ -1596,7 +1608,7 @@
* Only set the flush flag if you are sure that these warnings are
not applicable,
* and no explicit transactions are open.
*
- * @throws DBUnexpectedError
+ * @throws DBError
*/
public function commit( $fname = __METHOD__, $flush = '' );
@@ -1617,7 +1629,7 @@
* constant to disable warnings about calling rollback when no
transaction is in
* progress. This will silently break any ongoing explicit
transaction. Only set the
* flush flag if you are sure that it is safe to ignore these
warnings in your context.
- * @throws DBUnexpectedError
+ * @throws DBError
* @since 1.23 Added $flush parameter
*/
public function rollback( $fname = __METHOD__, $flush = '' );
@@ -1631,7 +1643,7 @@
* useful to call on a replica DB after waiting on replication to catch
up to the master.
*
* @param string $fname Calling function name
- * @throws DBUnexpectedError
+ * @throws DBError
* @since 1.28
*/
public function flushSnapshot( $fname = __METHOD__ );
@@ -1690,6 +1702,7 @@
* instead.
*
* @return int|bool Database replication lag in seconds or false on
error
+ * @throws DBError
*/
public function getLag();
@@ -1704,6 +1717,7 @@
* indication of the staleness of subsequent reads.
*
* @return array ('lag': seconds or false on error, 'since': UNIX
timestamp of BEGIN)
+ * @throws DBError
* @since 1.27
*/
public function getSessionLagStatus();
@@ -1745,6 +1759,7 @@
*
* @param array $options
* @return void
+ * @throws DBError
*/
public function setSessionOptions( array $options );
@@ -1763,6 +1778,7 @@
* @param string $lockName Name of lock to poll
* @param string $method Name of method calling us
* @return bool
+ * @throws DBError
* @since 1.20
*/
public function lockIsFree( $lockName, $method );
@@ -1776,6 +1792,7 @@
* @param string $method Name of the calling method
* @param int $timeout Acquisition timeout in seconds
* @return bool
+ * @throws DBError
*/
public function lock( $lockName, $method, $timeout = 5 );
@@ -1788,8 +1805,10 @@
* @param string $method Name of the calling method
*
* @return int Returns 1 if the lock was released, 0 if the lock was
not established
- * by this thread (in which case the lock is not released), and NULL if
the named
- * lock did not exist
+ * by this thread (in which case the lock is not released), and NULL if
the named lock
+ * did not exist
+ *
+ * @throws DBError
*/
public function unlock( $lockName, $method );
@@ -1811,7 +1830,7 @@
* @param string $fname Name of the calling method
* @param int $timeout Acquisition timeout in seconds
* @return ScopedCallback|null
- * @throws DBUnexpectedError
+ * @throws DBError
* @since 1.27
*/
public function getScopedLockAndFlush( $lockKey, $fname, $timeout );
--
To view, visit https://gerrit.wikimedia.org/r/394434
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I235c5beacce38e9121fb1db94ce410d010356fcf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits