'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',
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Session\SessionManager;
use Wikimedia\ScopedCallback;
+use Wikimedia\Rdbms\DBReplicationWaitError;
// Hide compatibility functions from Doxygen
/// @cond
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.
use Wikimedia\Assert\Assert;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\LoadBalancer;
+use Wikimedia\Rdbms\DBUnexpectedError;
/**
* Storage layer class for WatchedItems.
} 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() ) ];
<?php
/**
- *
- *
* Created on Sep 4, 2006
*
* Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
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.
} 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 {
*/
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBQueryError;
/**
* LCStore implementation which uses the standard DB functions to store data.
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\Blob;
use Wikimedia\Rdbms\ResultWrapper;
+use Wikimedia\Rdbms\DBConnectionError;
+use Wikimedia\Rdbms\DBUnexpectedError;
/**
* @ingroup Database
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Psr\Log\LogLevel;
+use Wikimedia\Rdbms\DBError;
/**
* Handler class for MWExceptions
* @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
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* Version of FileJournal that logs to a DB table
<?php
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* MySQL version of DBLockManager that supports shared locks.
* @ingroup FileAbstraction
*/
+use Wikimedia\Rdbms\DBUnexpectedError;
+
/**
* Foreign file with an accessible MediaWiki database
*
*/
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using Microsoft SQL Server.
*/
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using MySQL.
* @ingroup Deployment
*/
+use Wikimedia\Rdbms\DBConnectionError;
+
/**
* Class for setting up the MediaWiki database using Oracle.
*
*/
use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DBQueryError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using Postgres.
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\DatabaseSqlite;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Class for setting up the MediaWiki database using SQLLite.
* @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
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\LBFactory;
+use Wikimedia\Rdbms\DBError;
+use Wikimedia\Rdbms\DBReplicationWaitError;
/**
* Job queue runner utility methods
* @ingroup JobQueue
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\DBReplicationWaitError;
/**
* Job for pruning recent changes
* @ingroup JobQueue
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\DBReplicationWaitError;
/**
* Job to update link tables for pages
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBError;
/**
* Version of LockManager based on using named/row DB locks.
<?php
+
+use Wikimedia\Rdbms\DBError;
+
/**
* PostgreSQL version of DBLockManager that supports shared locks.
* All locks are non-blocking, which avoids deadlocks.
use BagOStuff;
use HashBagOStuff;
use InvalidArgumentException;
-use DBQueryError;
-use DBUnexpectedError;
-use DBConnectionError;
-use DBReadOnlyError;
use Exception;
use RuntimeException;
namespace Wikimedia\Rdbms;
use MediaWiki;
-use DBConnectionError;
-use DBUnexpectedError;
-use DBQueryError;
use Exception;
use stdClass;
*/
namespace Wikimedia\Rdbms;
-use DBConnectionError;
-
/**
* Database abstraction object for PHP extension mysql.
*
use DateTimeZone;
use MediaWiki;
use InvalidArgumentException;
-use DBError;
-use DBExpectedError;
-use DBUnexpectedError;
-use DBConnectionError;
use Exception;
use stdClass;
namespace Wikimedia\Rdbms;
use mysqli;
-use DBConnectionError;
use IP;
/**
use Wikimedia\Timestamp\ConvertibleTimestamp;
use Wikimedia\WaitConditionLoop;
use MediaWiki;
-use DBUnexpectedError;
-use DBConnectionError;
use Exception;
/**
use PDOException;
use LockManager;
use FSLockManager;
-use DBConnectionError;
-use DBReadOnlyError;
use InvalidArgumentException;
use RuntimeException;
-use DBError;
use stdClass;
/**
namespace Wikimedia\Rdbms;
use Wikimedia\ScopedCallback;
-use DBError;
-use DBConnectionError;
-use DBUnexpectedError;
-use DBQueryError;
use Exception;
use RuntimeException;
use UnexpectedValueException;
use Exception;
use RuntimeException;
-use DBUnexpectedError;
/**
* Advanced database interface for IDatabase handles that include maintenance methods
namespace Wikimedia\Rdbms;
use Iterator;
-use DBUnexpectedError;
use stdClass;
/**
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* Exception class for attempted DB access
* @ingroup Database
parent::__construct( null, "Database access has been disabled." );
}
}
+
+class_alias( DBAccessError::class, 'DBAccessError' );
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\IDatabase;
+namespace Wikimedia\Rdbms;
/**
* @ingroup Database
parent::__construct( $db, $msg );
}
}
+
+class_alias( DBConnectionError::class, 'DBConnectionError' );
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\IDatabase;
+
+namespace Wikimedia\Rdbms;
+
+use Exception;
/**
* Database error base class
parent::__construct( $error );
}
}
+
+class_alias( DBError::class, 'DBError' );
* @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
return Message::newFromSpecifier( $this );
}
}
+
+class_alias( DBExpectedError::class, 'DBExpectedError' );
* @file
* @ingroup Database
*/
-use Wikimedia\Rdbms\Database;
-use Wikimedia\Rdbms\IDatabase;
+
+namespace Wikimedia\Rdbms;
/**
* @ingroup Database
$this->fname = $fname;
}
}
+
+class_alias( DBQueryError::class, 'DBQueryError' );
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
class DBReadOnlyError extends DBExpectedError {
}
+
+class_alias( DBReadOnlyError::class, 'DBReadOnlyError' );
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* Exception class for replica DB wait timeouts
* @ingroup Database
*/
class DBReplicationWaitError extends DBExpectedError {
}
+
+class_alias( DBReplicationWaitError::class, 'DBReplicationWaitError' );
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
class DBTransactionError extends DBExpectedError {
}
+
+class_alias( DBTransactionError::class, 'DBTransactionError' );
+
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
return 'transaction-duration-limit-exceeded';
}
}
+
+class_alias( DBTransactionSizeError::class, 'DBTransactionSizeError' );
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
/**
* @ingroup Database
*/
class DBUnexpectedError extends DBError {
}
+
+class_alias( DBUnexpectedError::class, 'DBUnexpectedError' );
namespace Wikimedia\Rdbms;
use InvalidArgumentException;
-use DBTransactionError;
-use DBReplicationWaitError;
/**
* An interface for generating database load balancers
use WANObjectCache;
use Exception;
use RuntimeException;
-use DBTransactionError;
-use DBReplicationWaitError;
/**
* An interface for generating database load balancers
*/
namespace Wikimedia\Rdbms;
-use DBError;
-use DBAccessError;
-use DBTransactionError;
-use DBExpectedError;
use Exception;
use InvalidArgumentException;
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;
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;
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.
* @ingroup Profiler
*/
+use Wikimedia\Rdbms\DBError;
+
/**
* Logs profiling data into the local DB
*
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use WrappedString\WrappedString;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Dynamic JavaScript and CSS resource loading system.
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,
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.
require_once __DIR__ . '/../includes/PHPVersionCheck.php';
wfEntryPointCheck( 'cli' );
+use Wikimedia\Rdbms\DBReplicationWaitError;
+
/**
* @defgroup MaintenanceArchive Maintenance archives
* @ingroup Maintenance
* @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.
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.
*/
use Wikimedia\Rdbms\DatabaseSqlite;
+use Wikimedia\Rdbms\DBError;
/**
* This class contains code common to different SQLite-related maintenance scripts
* @see wfWaitForSlaves()
*/
+use Wikimedia\Rdbms\DBConnectionError;
+
require __DIR__ . '/../commandLine.inc';
if ( count( $args ) < 1 ) {