aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Schulz <aschulz@wikimedia.org>2017-02-24 08:17:16 -0800
committerAaron Schulz <aschulz@wikimedia.org>2017-04-15 10:47:41 -0700
commitdd359741cc90aec7fa8af70da4e0043a5ce89fa4 (patch)
tree47068993c5780d85439d1a35fe913da089598793
parent415a8de97dd07653a5f3aec239696be480e2d96a (diff)
downloadmediawikicore-dd359741cc90aec7fa8af70da4e0043a5ce89fa4.tar.gz
mediawikicore-dd359741cc90aec7fa8af70da4e0043a5ce89fa4.zip
Move DB errors to Rdbms namespace
Change-Id: I463bd86123501abc68fdb78b4cda6110f7af2549
-rw-r--r--autoload.php10
-rw-r--r--includes/GlobalFunctions.php1
-rw-r--r--includes/MediaWiki.php1
-rw-r--r--includes/WatchedItemStore.php1
-rw-r--r--includes/api/ApiErrorFormatter.php3
-rw-r--r--includes/api/ApiMain.php7
-rw-r--r--includes/cache/localisation/LCStoreDB.php1
-rw-r--r--includes/db/DatabaseOracle.php2
-rw-r--r--includes/exception/MWExceptionHandler.php1
-rw-r--r--includes/exception/MWExceptionRenderer.php5
-rw-r--r--includes/filebackend/filejournal/DBFileJournal.php1
-rw-r--r--includes/filebackend/lockmanager/MySqlLockManager.php1
-rw-r--r--includes/filerepo/file/ForeignDBFile.php2
-rw-r--r--includes/installer/MssqlInstaller.php2
-rw-r--r--includes/installer/MysqlInstaller.php2
-rw-r--r--includes/installer/OracleInstaller.php2
-rw-r--r--includes/installer/PostgresInstaller.php2
-rw-r--r--includes/installer/SqliteInstaller.php1
-rw-r--r--includes/jobqueue/JobQueueDB.php4
-rw-r--r--includes/jobqueue/JobRunner.php2
-rw-r--r--includes/jobqueue/jobs/RecentChangesUpdateJob.php1
-rw-r--r--includes/jobqueue/jobs/RefreshLinksJob.php1
-rw-r--r--includes/libs/lockmanager/DBLockManager.php1
-rw-r--r--includes/libs/lockmanager/PostgreSqlLockManager.php3
-rw-r--r--includes/libs/rdbms/database/Database.php4
-rw-r--r--includes/libs/rdbms/database/DatabaseMssql.php3
-rw-r--r--includes/libs/rdbms/database/DatabaseMysql.php2
-rw-r--r--includes/libs/rdbms/database/DatabaseMysqlBase.php4
-rw-r--r--includes/libs/rdbms/database/DatabaseMysqli.php1
-rw-r--r--includes/libs/rdbms/database/DatabasePostgres.php2
-rw-r--r--includes/libs/rdbms/database/DatabaseSqlite.php3
-rw-r--r--includes/libs/rdbms/database/IDatabase.php4
-rw-r--r--includes/libs/rdbms/database/IMaintainableDatabase.php1
-rw-r--r--includes/libs/rdbms/database/resultwrapper/IResultWrapper.php1
-rw-r--r--includes/libs/rdbms/exception/DBAccessError.php4
-rw-r--r--includes/libs/rdbms/exception/DBConnectionError.php4
-rw-r--r--includes/libs/rdbms/exception/DBError.php7
-rw-r--r--includes/libs/rdbms/exception/DBExpectedError.php9
-rw-r--r--includes/libs/rdbms/exception/DBQueryError.php6
-rw-r--r--includes/libs/rdbms/exception/DBReadOnlyError.php4
-rw-r--r--includes/libs/rdbms/exception/DBReplicationWaitError.php4
-rw-r--r--includes/libs/rdbms/exception/DBTransactionError.php5
-rw-r--r--includes/libs/rdbms/exception/DBTransactionSizeError.php4
-rw-r--r--includes/libs/rdbms/exception/DBUnexpectedError.php4
-rw-r--r--includes/libs/rdbms/lbfactory/ILBFactory.php2
-rw-r--r--includes/libs/rdbms/lbfactory/LBFactory.php2
-rw-r--r--includes/libs/rdbms/loadbalancer/ILoadBalancer.php4
-rw-r--r--includes/libs/rdbms/loadbalancer/LoadBalancer.php7
-rw-r--r--includes/objectcache/SqlBagOStuff.php3
-rw-r--r--includes/page/WikiPage.php2
-rw-r--r--includes/profiler/output/ProfilerOutputDb.php2
-rw-r--r--includes/resourceloader/ResourceLoader.php1
-rw-r--r--includes/specialpage/QueryPage.php1
-rw-r--r--includes/user/User.php1
-rw-r--r--maintenance/Maintenance.php2
-rw-r--r--maintenance/oracle/alterSharedConstraints.php2
-rw-r--r--maintenance/sql.php1
-rw-r--r--maintenance/sqlite.inc1
-rw-r--r--maintenance/storage/trackBlobs.php2
59 files changed, 116 insertions, 50 deletions
diff --git a/autoload.php b/autoload.php
index bfac50d456ff..20a1bf41c279 100644
--- a/autoload.php
+++ b/autoload.php
@@ -1594,8 +1594,18 @@ $wgAutoloadLocalClasses = [
'Wikimedia\\Rdbms\\Blob' => __DIR__ . '/includes/libs/rdbms/encasing/Blob.php',
'Wikimedia\\Rdbms\\ChronologyProtector' => __DIR__ . '/includes/libs/rdbms/ChronologyProtector.php',
'Wikimedia\\Rdbms\\ConnectionManager' => __DIR__ . '/includes/libs/rdbms/connectionmanager/ConnectionManager.php',
+ 'Wikimedia\\Rdbms\\DBAccessError' => __DIR__ . '/includes/libs/rdbms/exception/DBAccessError.php',
'Wikimedia\\Rdbms\\DBConnRef' => __DIR__ . '/includes/libs/rdbms/database/DBConnRef.php',
+ 'Wikimedia\\Rdbms\\DBConnectionError' => __DIR__ . '/includes/libs/rdbms/exception/DBConnectionError.php',
+ 'Wikimedia\\Rdbms\\DBError' => __DIR__ . '/includes/libs/rdbms/exception/DBError.php',
+ 'Wikimedia\\Rdbms\\DBExpectedError' => __DIR__ . '/includes/libs/rdbms/exception/DBExpectedError.php',
'Wikimedia\\Rdbms\\DBMasterPos' => __DIR__ . '/includes/libs/rdbms/database/position/DBMasterPos.php',
+ 'Wikimedia\\Rdbms\\DBQueryError' => __DIR__ . '/includes/libs/rdbms/exception/DBQueryError.php',
+ 'Wikimedia\\Rdbms\\DBReadOnlyError' => __DIR__ . '/includes/libs/rdbms/exception/DBReadOnlyError.php',
+ 'Wikimedia\\Rdbms\\DBReplicationWaitError' => __DIR__ . '/includes/libs/rdbms/exception/DBReplicationWaitError.php',
+ 'Wikimedia\\Rdbms\\DBTransactionError' => __DIR__ . '/includes/libs/rdbms/exception/DBTransactionError.php',
+ 'Wikimedia\\Rdbms\\DBTransactionSizeError' => __DIR__ . '/includes/libs/rdbms/exception/DBTransactionSizeError.php',
+ 'Wikimedia\\Rdbms\\DBUnexpectedError' => __DIR__ . '/includes/libs/rdbms/exception/DBUnexpectedError.php',
'Wikimedia\\Rdbms\\Database' => __DIR__ . '/includes/libs/rdbms/database/Database.php',
'Wikimedia\\Rdbms\\DatabaseDomain' => __DIR__ . '/includes/libs/rdbms/database/DatabaseDomain.php',
'Wikimedia\\Rdbms\\DatabaseMssql' => __DIR__ . '/includes/libs/rdbms/database/DatabaseMssql.php',
diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php
index 243d0661847d..4e60e633fd38 100644
--- a/includes/GlobalFunctions.php
+++ b/includes/GlobalFunctions.php
@@ -28,6 +28,7 @@ use Liuggio\StatsdClient\Sender\SocketSender;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Session\SessionManager;
use Wikimedia\ScopedCallback;
+use Wikimedia\Rdbms\DBReplicationWaitError;
// Hide compatibility functions from Doxygen
/// @cond
diff --git a/includes/MediaWiki.php b/includes/MediaWiki.php
index ef0563e5502d..0fd6b92e63ae 100644
--- a/includes/MediaWiki.php
+++ b/includes/MediaWiki.php
@@ -25,6 +25,7 @@ use Psr\Log\LoggerInterface;
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\ChronologyProtector;
use Wikimedia\Rdbms\LBFactory;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* The MediaWiki class is the helper class for the index.php entry point.
diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php
index 70fdbf13af97..b334098e6349 100644
--- a/includes/WatchedItemStore.php
+++ b/includes/WatchedItemStore.php
@@ -7,6 +7,7 @@ use MediaWiki\MediaWikiServices;
use Wikimedia\Assert\Assert;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\LoadBalancer;
+use Wikimedia\Rdbms\DBUnexpectedError;
/**
* Storage layer class for WatchedItems.
diff --git a/includes/api/ApiErrorFormatter.php b/includes/api/ApiErrorFormatter.php
index c52b731bbdb3..5484a78efe03 100644
--- a/includes/api/ApiErrorFormatter.php
+++ b/includes/api/ApiErrorFormatter.php
@@ -176,7 +176,8 @@ class ApiErrorFormatter {
} else {
$msg = new RawMessage( '$1' );
if ( !isset( $options['code'] ) ) {
- $options['code'] = 'internal_api_error_' . get_class( $exception );
+ $class = preg_replace( '#^Wikimedia\\\Rdbms\\\#', '', get_class( $exception ) );
+ $options['code'] = 'internal_api_error_' . $class;
}
}
$params = [ wfEscapeWikiText( $exception->getMessage() ) ];
diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php
index 4068a50bb681..00f976e9075a 100644
--- a/includes/api/ApiMain.php
+++ b/includes/api/ApiMain.php
@@ -1,7 +1,5 @@
<?php
/**
- *
- *
* Created on Sep 4, 2006
*
* Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
@@ -28,6 +26,8 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Wikimedia\Timestamp\TimestampException;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBError;
/**
* This is the main API class, used for both external and internal processing.
@@ -1044,7 +1044,8 @@ class ApiMain extends ApiBase {
} else {
// Something is seriously wrong
$config = $this->getConfig();
- $code = 'internal_api_error_' . get_class( $e );
+ $class = preg_replace( '#^Wikimedia\\\Rdbms\\\#', '', get_class( $e ) );
+ $code = 'internal_api_error_' . $class;
if ( ( $e instanceof DBQueryError ) && !$config->get( 'ShowSQLErrors' ) ) {
$params = [ 'apierror-databaseerror', WebRequest::getRequestId() ];
} else {
diff --git a/includes/cache/localisation/LCStoreDB.php b/includes/cache/localisation/LCStoreDB.php
index 52611ec508c3..c57145c04d86 100644
--- a/includes/cache/localisation/LCStoreDB.php
+++ b/includes/cache/localisation/LCStoreDB.php
@@ -19,6 +19,7 @@
*/
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBQueryError;
/**
* LCStore implementation which uses the standard DB functions to store data.
diff --git a/includes/db/DatabaseOracle.php b/includes/db/DatabaseOracle.php
index a0d7ad893f8f..b72878689644 100644
--- a/includes/db/DatabaseOracle.php
+++ b/includes/db/DatabaseOracle.php
@@ -24,6 +24,8 @@
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\Blob;
use Wikimedia\Rdbms\ResultWrapper;
+use Wikimedia\Rdbms\DBConnectionError;
+use Wikimedia\Rdbms\DBUnexpectedError;
/**
* @ingroup Database
diff --git a/includes/exception/MWExceptionHandler.php b/includes/exception/MWExceptionHandler.php
index 749be3c6cb43..433274e33956 100644
--- a/includes/exception/MWExceptionHandler.php
+++ b/includes/exception/MWExceptionHandler.php
@@ -21,6 +21,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Psr\Log\LogLevel;
+use Wikimedia\Rdbms\DBError;
/**
* Handler class for MWExceptions
diff --git a/includes/exception/MWExceptionRenderer.php b/includes/exception/MWExceptionRenderer.php
index a569bcd808ac..a9bd4da6f930 100644
--- a/includes/exception/MWExceptionRenderer.php
+++ b/includes/exception/MWExceptionRenderer.php
@@ -19,6 +19,11 @@
* @author Aaron Schulz
*/
+use Wikimedia\Rdbms\DBConnectionError;
+use Wikimedia\Rdbms\DBError;
+use Wikimedia\Rdbms\DBReadOnlyError;
+use Wikimedia\Rdbms\DBExpectedError;
+
/**
* Class to expose exceptions to the client (API bots, users, admins using CLI scripts)
* @since 1.28
diff --git a/includes/filebackend/filejournal/DBFileJournal.php b/includes/filebackend/filejournal/DBFileJournal.php
index d09c24587750..aa97c9a97431 100644
--- a/includes/filebackend/filejournal/DBFileJournal.php
+++ b/includes/filebackend/filejournal/DBFileJournal.php
@@ -24,6 +24,7 @@
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* Version of FileJournal that logs to a DB table
diff --git a/includes/filebackend/lockmanager/MySqlLockManager.php b/includes/filebackend/lockmanager/MySqlLockManager.php
index 8510d0c18cc5..2108aed4e1d4 100644
--- a/includes/filebackend/lockmanager/MySqlLockManager.php
+++ b/includes/filebackend/lockmanager/MySqlLockManager.php
@@ -1,6 +1,7 @@
<?php
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* MySQL version of DBLockManager that supports shared locks.
diff --git a/includes/filerepo/file/ForeignDBFile.php b/includes/filerepo/file/ForeignDBFile.php
index f6f44e610a5d..cf211618fcb1 100644
--- a/includes/filerepo/file/ForeignDBFile.php
+++ b/includes/filerepo/file/ForeignDBFile.php
@@ -21,6 +21,8 @@
* @ingroup FileAbstraction
*/
+use Wikimedia\Rdbms\DBUnexpectedError;
+
/**
* Foreign file with an accessible MediaWiki database
*
diff --git a/includes/installer/MssqlInstaller.php b/includes/installer/MssqlInstaller.php
index 8307d8baa354..ba9818d11ccd 100644
--- a/includes/installer/MssqlInstaller.php
+++ b/includes/installer/MssqlInstaller.php
@@ -22,6 +22,8 @@
*/
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using Microsoft SQL Server.
diff --git a/includes/installer/MysqlInstaller.php b/includes/installer/MysqlInstaller.php
index c0731e7c1fb8..09051f410d2f 100644
--- a/includes/installer/MysqlInstaller.php
+++ b/includes/installer/MysqlInstaller.php
@@ -22,6 +22,8 @@
*/
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using MySQL.
diff --git a/includes/installer/OracleInstaller.php b/includes/installer/OracleInstaller.php
index b8fc4e75d590..14683d6c46d4 100644
--- a/includes/installer/OracleInstaller.php
+++ b/includes/installer/OracleInstaller.php
@@ -21,6 +21,8 @@
* @ingroup Deployment
*/
+use Wikimedia\Rdbms\DBConnectionError;
+
/**
* Class for setting up the MediaWiki database using Oracle.
*
diff --git a/includes/installer/PostgresInstaller.php b/includes/installer/PostgresInstaller.php
index bd7cfb3ed3ec..b501cb37faed 100644
--- a/includes/installer/PostgresInstaller.php
+++ b/includes/installer/PostgresInstaller.php
@@ -22,6 +22,8 @@
*/
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using Postgres.
diff --git a/includes/installer/SqliteInstaller.php b/includes/installer/SqliteInstaller.php
index e9d3ad4d1d01..394337411d55 100644
--- a/includes/installer/SqliteInstaller.php
+++ b/includes/installer/SqliteInstaller.php
@@ -23,6 +23,7 @@
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\DatabaseSqlite;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using SQLLite.
diff --git a/includes/jobqueue/JobQueueDB.php b/includes/jobqueue/JobQueueDB.php
index 540b8c546138..924aacc7447f 100644
--- a/includes/jobqueue/JobQueueDB.php
+++ b/includes/jobqueue/JobQueueDB.php
@@ -21,9 +21,11 @@
* @author Aaron Schulz
*/
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBConnRef;
+use Wikimedia\Rdbms\DBConnectionError;
+use Wikimedia\Rdbms\DBError;
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
-use Wikimedia\Rdbms\DBConnRef;
/**
* Class to handle job queues stored in the DB
diff --git a/includes/jobqueue/JobRunner.php b/includes/jobqueue/JobRunner.php
index baff288e853c..641553350854 100644
--- a/includes/jobqueue/JobRunner.php
+++ b/includes/jobqueue/JobRunner.php
@@ -28,6 +28,8 @@ use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\LBFactory;
+use Wikimedia\Rdbms\DBError;
+use Wikimedia\Rdbms\DBReplicationWaitError;
/**
* Job queue runner utility methods
diff --git a/includes/jobqueue/jobs/RecentChangesUpdateJob.php b/includes/jobqueue/jobs/RecentChangesUpdateJob.php
index 5c733088eecd..c1236198be01 100644
--- a/includes/jobqueue/jobs/RecentChangesUpdateJob.php
+++ b/includes/jobqueue/jobs/RecentChangesUpdateJob.php
@@ -20,6 +20,7 @@
* @ingroup JobQueue
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\DBReplicationWaitError;
/**
* Job for pruning recent changes
diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php
index f9284a57ceb8..64d955ae9608 100644
--- a/includes/jobqueue/jobs/RefreshLinksJob.php
+++ b/includes/jobqueue/jobs/RefreshLinksJob.php
@@ -21,6 +21,7 @@
* @ingroup JobQueue
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\DBReplicationWaitError;
/**
* Job to update link tables for pages
diff --git a/includes/libs/lockmanager/DBLockManager.php b/includes/libs/lockmanager/DBLockManager.php
index ddb8521ae11d..26e25f930562 100644
--- a/includes/libs/lockmanager/DBLockManager.php
+++ b/includes/libs/lockmanager/DBLockManager.php
@@ -23,6 +23,7 @@
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* Version of LockManager based on using named/row DB locks.
diff --git a/includes/libs/lockmanager/PostgreSqlLockManager.php b/includes/libs/lockmanager/PostgreSqlLockManager.php
index d6b1ce822d50..65c69938a486 100644
--- a/includes/libs/lockmanager/PostgreSqlLockManager.php
+++ b/includes/libs/lockmanager/PostgreSqlLockManager.php
@@ -1,4 +1,7 @@
<?php
+
+use Wikimedia\Rdbms\DBError;
+
/**
* PostgreSQL version of DBLockManager that supports shared locks.
* All locks are non-blocking, which avoids deadlocks.
diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php
index 6fafe71703e9..0915b7deed1d 100644
--- a/includes/libs/rdbms/database/Database.php
+++ b/includes/libs/rdbms/database/Database.php
@@ -33,10 +33,6 @@ use MediaWiki;
use BagOStuff;
use HashBagOStuff;
use InvalidArgumentException;
-use DBQueryError;
-use DBUnexpectedError;
-use DBConnectionError;
-use DBReadOnlyError;
use Exception;
use RuntimeException;
diff --git a/includes/libs/rdbms/database/DatabaseMssql.php b/includes/libs/rdbms/database/DatabaseMssql.php
index bbd2400be65c..c736cc79ae87 100644
--- a/includes/libs/rdbms/database/DatabaseMssql.php
+++ b/includes/libs/rdbms/database/DatabaseMssql.php
@@ -28,9 +28,6 @@
namespace Wikimedia\Rdbms;
use MediaWiki;
-use DBConnectionError;
-use DBUnexpectedError;
-use DBQueryError;
use Exception;
use stdClass;
diff --git a/includes/libs/rdbms/database/DatabaseMysql.php b/includes/libs/rdbms/database/DatabaseMysql.php
index c0c92237b367..77e797d49cca 100644
--- a/includes/libs/rdbms/database/DatabaseMysql.php
+++ b/includes/libs/rdbms/database/DatabaseMysql.php
@@ -22,8 +22,6 @@
*/
namespace Wikimedia\Rdbms;
-use DBConnectionError;
-
/**
* Database abstraction object for PHP extension mysql.
*
diff --git a/includes/libs/rdbms/database/DatabaseMysqlBase.php b/includes/libs/rdbms/database/DatabaseMysqlBase.php
index b09516c9a914..9824caf31d4e 100644
--- a/includes/libs/rdbms/database/DatabaseMysqlBase.php
+++ b/includes/libs/rdbms/database/DatabaseMysqlBase.php
@@ -26,10 +26,6 @@ use DateTime;
use DateTimeZone;
use MediaWiki;
use InvalidArgumentException;
-use DBError;
-use DBExpectedError;
-use DBUnexpectedError;
-use DBConnectionError;
use Exception;
use stdClass;
diff --git a/includes/libs/rdbms/database/DatabaseMysqli.php b/includes/libs/rdbms/database/DatabaseMysqli.php
index be25489b3522..fcd29c3c3cde 100644
--- a/includes/libs/rdbms/database/DatabaseMysqli.php
+++ b/includes/libs/rdbms/database/DatabaseMysqli.php
@@ -23,7 +23,6 @@
namespace Wikimedia\Rdbms;
use mysqli;
-use DBConnectionError;
use IP;
/**
diff --git a/includes/libs/rdbms/database/DatabasePostgres.php b/includes/libs/rdbms/database/DatabasePostgres.php
index 5049f9b09f8f..b92d072112e4 100644
--- a/includes/libs/rdbms/database/DatabasePostgres.php
+++ b/includes/libs/rdbms/database/DatabasePostgres.php
@@ -25,8 +25,6 @@ namespace Wikimedia\Rdbms;
use Wikimedia\Timestamp\ConvertibleTimestamp;
use Wikimedia\WaitConditionLoop;
use MediaWiki;
-use DBUnexpectedError;
-use DBConnectionError;
use Exception;
/**
diff --git a/includes/libs/rdbms/database/DatabaseSqlite.php b/includes/libs/rdbms/database/DatabaseSqlite.php
index 6d187b84f872..779b4c9d0c25 100644
--- a/includes/libs/rdbms/database/DatabaseSqlite.php
+++ b/includes/libs/rdbms/database/DatabaseSqlite.php
@@ -27,11 +27,8 @@ use PDO;
use PDOException;
use LockManager;
use FSLockManager;
-use DBConnectionError;
-use DBReadOnlyError;
use InvalidArgumentException;
use RuntimeException;
-use DBError;
use stdClass;
/**
diff --git a/includes/libs/rdbms/database/IDatabase.php b/includes/libs/rdbms/database/IDatabase.php
index feaf5cf46d0a..0b12cbc2b15a 100644
--- a/includes/libs/rdbms/database/IDatabase.php
+++ b/includes/libs/rdbms/database/IDatabase.php
@@ -26,10 +26,6 @@
namespace Wikimedia\Rdbms;
use Wikimedia\ScopedCallback;
-use DBError;
-use DBConnectionError;
-use DBUnexpectedError;
-use DBQueryError;
use Exception;
use RuntimeException;
use UnexpectedValueException;
diff --git a/includes/libs/rdbms/database/IMaintainableDatabase.php b/includes/libs/rdbms/database/IMaintainableDatabase.php
index 5666170d73f0..fbc2774b0591 100644
--- a/includes/libs/rdbms/database/IMaintainableDatabase.php
+++ b/includes/libs/rdbms/database/IMaintainableDatabase.php
@@ -26,7 +26,6 @@ namespace Wikimedia\Rdbms;
use Exception;
use RuntimeException;
-use DBUnexpectedError;
/**
* Advanced database interface for IDatabase handles that include maintenance methods
diff --git a/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php b/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php
index dc89a2dc04ee..debf8a27c30e 100644
--- a/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php
+++ b/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php
@@ -3,7 +3,6 @@
namespace Wikimedia\Rdbms;
use Iterator;
-use DBUnexpectedError;
use stdClass;
/**
diff --git a/includes/libs/rdbms/exception/DBAccessError.php b/includes/libs/rdbms/exception/DBAccessError.php
index 864dea0ee065..97e03b26fe6e 100644
--- a/includes/libs/rdbms/exception/DBAccessError.php
+++ b/includes/libs/rdbms/exception/DBAccessError.php
@@ -19,6 +19,8 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* Exception class for attempted DB access
* @ingroup Database
@@ -28,3 +30,5 @@ class DBAccessError extends DBUnexpectedError {
parent::__construct( null, "Database access has been disabled." );
}
}
+
+class_alias( DBAccessError::class, 'DBAccessError' );
diff --git a/includes/libs/rdbms/exception/DBConnectionError.php b/includes/libs/rdbms/exception/DBConnectionError.php
index dca1302bbce3..0091524c91de 100644
--- a/includes/libs/rdbms/exception/DBConnectionError.php
+++ b/includes/libs/rdbms/exception/DBConnectionError.php
@@ -18,7 +18,7 @@
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\IDatabase;
+namespace Wikimedia\Rdbms;
/**
* @ingroup Database
@@ -37,3 +37,5 @@ class DBConnectionError extends DBExpectedError {
parent::__construct( $db, $msg );
}
}
+
+class_alias( DBConnectionError::class, 'DBConnectionError' );
diff --git a/includes/libs/rdbms/exception/DBError.php b/includes/libs/rdbms/exception/DBError.php
index 226c675d6546..d65e2d36bd00 100644
--- a/includes/libs/rdbms/exception/DBError.php
+++ b/includes/libs/rdbms/exception/DBError.php
@@ -18,7 +18,10 @@
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\IDatabase;
+
+namespace Wikimedia\Rdbms;
+
+use Exception;
/**
* Database error base class
@@ -38,3 +41,5 @@ class DBError extends Exception {
parent::__construct( $error );
}
}
+
+class_alias( DBError::class, 'DBError' );
diff --git a/includes/libs/rdbms/exception/DBExpectedError.php b/includes/libs/rdbms/exception/DBExpectedError.php
index 57538a8ac7e5..f6b9bd5ebe7f 100644
--- a/includes/libs/rdbms/exception/DBExpectedError.php
+++ b/includes/libs/rdbms/exception/DBExpectedError.php
@@ -18,7 +18,12 @@
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\IDatabase;
+
+namespace Wikimedia\Rdbms;
+
+use MessageSpecifier;
+use ILocalizedException;
+use Message;
/**
* Base class for the more common types of database errors. These are known to occur
@@ -52,3 +57,5 @@ class DBExpectedError extends DBError implements MessageSpecifier, ILocalizedExc
return Message::newFromSpecifier( $this );
}
}
+
+class_alias( DBExpectedError::class, 'DBExpectedError' );
diff --git a/includes/libs/rdbms/exception/DBQueryError.php b/includes/libs/rdbms/exception/DBQueryError.php
index 89b9cea61a13..bc2a865bb1b0 100644
--- a/includes/libs/rdbms/exception/DBQueryError.php
+++ b/includes/libs/rdbms/exception/DBQueryError.php
@@ -18,8 +18,8 @@
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\Database;
-use Wikimedia\Rdbms\IDatabase;
+
+namespace Wikimedia\Rdbms;
/**
* @ingroup Database
@@ -63,3 +63,5 @@ class DBQueryError extends DBExpectedError {
$this->fname = $fname;
}
}
+
+class_alias( DBQueryError::class, 'DBQueryError' );
diff --git a/includes/libs/rdbms/exception/DBReadOnlyError.php b/includes/libs/rdbms/exception/DBReadOnlyError.php
index d4dce1e13f96..439334391c55 100644
--- a/includes/libs/rdbms/exception/DBReadOnlyError.php
+++ b/includes/libs/rdbms/exception/DBReadOnlyError.php
@@ -19,8 +19,12 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
class DBReadOnlyError extends DBExpectedError {
}
+
+class_alias( DBReadOnlyError::class, 'DBReadOnlyError' );
diff --git a/includes/libs/rdbms/exception/DBReplicationWaitError.php b/includes/libs/rdbms/exception/DBReplicationWaitError.php
index c5e1ed7033cf..457431e93b8d 100644
--- a/includes/libs/rdbms/exception/DBReplicationWaitError.php
+++ b/includes/libs/rdbms/exception/DBReplicationWaitError.php
@@ -19,9 +19,13 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* Exception class for replica DB wait timeouts
* @ingroup Database
*/
class DBReplicationWaitError extends DBExpectedError {
}
+
+class_alias( DBReplicationWaitError::class, 'DBReplicationWaitError' );
diff --git a/includes/libs/rdbms/exception/DBTransactionError.php b/includes/libs/rdbms/exception/DBTransactionError.php
index a4886671c82d..fd79773e47c7 100644
--- a/includes/libs/rdbms/exception/DBTransactionError.php
+++ b/includes/libs/rdbms/exception/DBTransactionError.php
@@ -19,8 +19,13 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
class DBTransactionError extends DBExpectedError {
}
+
+class_alias( DBTransactionError::class, 'DBTransactionError' );
+
diff --git a/includes/libs/rdbms/exception/DBTransactionSizeError.php b/includes/libs/rdbms/exception/DBTransactionSizeError.php
index 4e467b2c0b61..e45b9f319129 100644
--- a/includes/libs/rdbms/exception/DBTransactionSizeError.php
+++ b/includes/libs/rdbms/exception/DBTransactionSizeError.php
@@ -19,6 +19,8 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
@@ -27,3 +29,5 @@ class DBTransactionSizeError extends DBTransactionError {
return 'transaction-duration-limit-exceeded';
}
}
+
+class_alias( DBTransactionSizeError::class, 'DBTransactionSizeError' );
diff --git a/includes/libs/rdbms/exception/DBUnexpectedError.php b/includes/libs/rdbms/exception/DBUnexpectedError.php
index 5a1267159a93..9c67eb5ffa85 100644
--- a/includes/libs/rdbms/exception/DBUnexpectedError.php
+++ b/includes/libs/rdbms/exception/DBUnexpectedError.php
@@ -19,8 +19,12 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
class DBUnexpectedError extends DBError {
}
+
+class_alias( DBUnexpectedError::class, 'DBUnexpectedError' );
diff --git a/includes/libs/rdbms/lbfactory/ILBFactory.php b/includes/libs/rdbms/lbfactory/ILBFactory.php
index faf7fb179c29..ac79acc64f95 100644
--- a/includes/libs/rdbms/lbfactory/ILBFactory.php
+++ b/includes/libs/rdbms/lbfactory/ILBFactory.php
@@ -24,8 +24,6 @@
namespace Wikimedia\Rdbms;
use InvalidArgumentException;
-use DBTransactionError;
-use DBReplicationWaitError;
/**
* An interface for generating database load balancers
diff --git a/includes/libs/rdbms/lbfactory/LBFactory.php b/includes/libs/rdbms/lbfactory/LBFactory.php
index 86547b9a77a3..e8210c855240 100644
--- a/includes/libs/rdbms/lbfactory/LBFactory.php
+++ b/includes/libs/rdbms/lbfactory/LBFactory.php
@@ -30,8 +30,6 @@ use EmptyBagOStuff;
use WANObjectCache;
use Exception;
use RuntimeException;
-use DBTransactionError;
-use DBReplicationWaitError;
/**
* An interface for generating database load balancers
diff --git a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php
index 8b5a98db0631..98b94fe29a05 100644
--- a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php
+++ b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php
@@ -23,10 +23,6 @@
*/
namespace Wikimedia\Rdbms;
-use DBError;
-use DBAccessError;
-use DBTransactionError;
-use DBExpectedError;
use Exception;
use InvalidArgumentException;
diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
index ffa4f78a7695..0e07facfdced 100644
--- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
+++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
@@ -29,13 +29,6 @@ use BagOStuff;
use EmptyBagOStuff;
use WANObjectCache;
use ArrayUtils;
-use DBError;
-use DBAccessError;
-use DBExpectedError;
-use DBUnexpectedError;
-use DBTransactionError;
-use DBTransactionSizeError;
-use DBConnectionError;
use InvalidArgumentException;
use RuntimeException;
use Exception;
diff --git a/includes/objectcache/SqlBagOStuff.php b/includes/objectcache/SqlBagOStuff.php
index 141a375c6237..a4a6ba845ae3 100644
--- a/includes/objectcache/SqlBagOStuff.php
+++ b/includes/objectcache/SqlBagOStuff.php
@@ -23,6 +23,9 @@
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
use \MediaWiki\MediaWikiServices;
use \Wikimedia\WaitConditionLoop;
use \Wikimedia\Rdbms\TransactionProfiler;
diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php
index 7044e6a9421a..82c32da5bea4 100644
--- a/includes/page/WikiPage.php
+++ b/includes/page/WikiPage.php
@@ -24,6 +24,8 @@ use \MediaWiki\Logger\LoggerFactory;
use \MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\FakeResultWrapper;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
+use Wikimedia\Rdbms\DBUnexpectedError;
/**
* Class representing a MediaWiki article and history.
diff --git a/includes/profiler/output/ProfilerOutputDb.php b/includes/profiler/output/ProfilerOutputDb.php
index 264ec0c63718..2225e3f6306f 100644
--- a/includes/profiler/output/ProfilerOutputDb.php
+++ b/includes/profiler/output/ProfilerOutputDb.php
@@ -21,6 +21,8 @@
* @ingroup Profiler
*/
+use Wikimedia\Rdbms\DBError;
+
/**
* Logs profiling data into the local DB
*
diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php
index e72eaf298861..3cd7821ed885 100644
--- a/includes/resourceloader/ResourceLoader.php
+++ b/includes/resourceloader/ResourceLoader.php
@@ -27,6 +27,7 @@ use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use WrappedString\WrappedString;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Dynamic JavaScript and CSS resource loading system.
diff --git a/includes/specialpage/QueryPage.php b/includes/specialpage/QueryPage.php
index 68d2d3073eac..93873c02a23b 100644
--- a/includes/specialpage/QueryPage.php
+++ b/includes/specialpage/QueryPage.php
@@ -23,6 +23,7 @@
use Wikimedia\Rdbms\ResultWrapper;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* This is a class for doing query pages; since they're almost all the same,
diff --git a/includes/user/User.php b/includes/user/User.php
index 30e370e5e8db..b8a36b860120 100644
--- a/includes/user/User.php
+++ b/includes/user/User.php
@@ -28,6 +28,7 @@ use MediaWiki\Auth\AuthenticationResponse;
use MediaWiki\Auth\AuthenticationRequest;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBExpectedError;
/**
* String Some punctuation to prevent editing from broken text-mangling proxies.
diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php
index e5ba411a3433..478a0c41ae88 100644
--- a/maintenance/Maintenance.php
+++ b/maintenance/Maintenance.php
@@ -25,6 +25,8 @@
require_once __DIR__ . '/../includes/PHPVersionCheck.php';
wfEntryPointCheck( 'cli' );
+use Wikimedia\Rdbms\DBReplicationWaitError;
+
/**
* @defgroup MaintenanceArchive Maintenance archives
* @ingroup Maintenance
diff --git a/maintenance/oracle/alterSharedConstraints.php b/maintenance/oracle/alterSharedConstraints.php
index ba1e8799aef7..48c3d375116d 100644
--- a/maintenance/oracle/alterSharedConstraints.php
+++ b/maintenance/oracle/alterSharedConstraints.php
@@ -19,6 +19,8 @@
* @ingroup Maintenance
*/
+use Wikimedia\Rdbms\DBQueryError;
+
/**
* When using shared tables that are referenced by foreign keys on local
* tables you have to change the constraints on local tables.
diff --git a/maintenance/sql.php b/maintenance/sql.php
index 70f9aaad476a..36e55f3eed52 100644
--- a/maintenance/sql.php
+++ b/maintenance/sql.php
@@ -26,6 +26,7 @@ require_once __DIR__ . '/Maintenance.php';
use Wikimedia\Rdbms\ResultWrapper;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBQueryError;
/**
* Maintenance script that sends SQL queries from the specified file to the database.
diff --git a/maintenance/sqlite.inc b/maintenance/sqlite.inc
index cbb0c7967a72..117e9cc4b0af 100644
--- a/maintenance/sqlite.inc
+++ b/maintenance/sqlite.inc
@@ -22,6 +22,7 @@
*/
use Wikimedia\Rdbms\DatabaseSqlite;
+use Wikimedia\Rdbms\DBError;
/**
* This class contains code common to different SQLite-related maintenance scripts
diff --git a/maintenance/storage/trackBlobs.php b/maintenance/storage/trackBlobs.php
index 4f228430564a..b4514ecbdfc4 100644
--- a/maintenance/storage/trackBlobs.php
+++ b/maintenance/storage/trackBlobs.php
@@ -22,6 +22,8 @@
* @see wfWaitForSlaves()
*/
+use Wikimedia\Rdbms\DBConnectionError;
+
require __DIR__ . '/../commandLine.inc';
if ( count( $args ) < 1 ) {