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

Reply via email to