diff options
119 files changed, 175 insertions, 20 deletions
diff --git a/autoload.php b/autoload.php index 4ffaa11a2cc6..b53c7ae8f0a4 100644 --- a/autoload.php +++ b/autoload.php @@ -1596,9 +1596,11 @@ $wgAutoloadLocalClasses = [ 'Wikimedia\\Rdbms\\FakeResultWrapper' => __DIR__ . '/includes/libs/rdbms/database/resultwrapper/FakeResultWrapper.php', 'Wikimedia\\Rdbms\\Field' => __DIR__ . '/includes/libs/rdbms/field/Field.php', 'Wikimedia\\Rdbms\\IBlob' => __DIR__ . '/includes/libs/rdbms/encasing/IBlob.php', + 'Wikimedia\\Rdbms\\IDatabase' => __DIR__ . '/includes/libs/rdbms/database/IDatabase.php', 'Wikimedia\\Rdbms\\ILBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/ILBFactory.php', 'Wikimedia\\Rdbms\\ILoadBalancer' => __DIR__ . '/includes/libs/rdbms/loadbalancer/ILoadBalancer.php', 'Wikimedia\\Rdbms\\ILoadMonitor' => __DIR__ . '/includes/libs/rdbms/loadmonitor/ILoadMonitor.php', + 'Wikimedia\\Rdbms\\IMaintainableDatabase' => __DIR__ . '/includes/libs/rdbms/database/IMaintainableDatabase.php', 'Wikimedia\\Rdbms\\IResultWrapper' => __DIR__ . '/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php', 'Wikimedia\\Rdbms\\LBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactory.php', 'Wikimedia\\Rdbms\\LBFactoryMulti' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactoryMulti.php', diff --git a/includes/Block.php b/includes/Block.php index cf6642a6f9d3..b6b3ae05f1c8 100644 --- a/includes/Block.php +++ b/includes/Block.php @@ -20,6 +20,7 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; class Block { diff --git a/includes/CategoryFinder.php b/includes/CategoryFinder.php index 504b35f885d9..595cf9510447 100644 --- a/includes/CategoryFinder.php +++ b/includes/CategoryFinder.php @@ -20,6 +20,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * The "CategoryFinder" class takes a list of articles, creates an internal * representation of all their parent categories (as well as parents of diff --git a/includes/Defines.php b/includes/Defines.php index bd92ff068387..6bc70edbc500 100644 --- a/includes/Defines.php +++ b/includes/Defines.php @@ -24,6 +24,8 @@ require_once __DIR__ . '/libs/mime/defines.php'; require_once __DIR__ . '/libs/rdbms/defines.php'; require_once __DIR__ . '/compat/normal/UtfNormalDefines.php'; +use Wikimedia\Rdbms\IDatabase; + /** * @defgroup Constants MediaWiki constants */ diff --git a/includes/MergeHistory.php b/includes/MergeHistory.php index 8cf3af158182..cc589c981124 100644 --- a/includes/MergeHistory.php +++ b/includes/MergeHistory.php @@ -25,6 +25,7 @@ * @file */ use Wikimedia\Timestamp\TimestampException; +use Wikimedia\Rdbms\IDatabase; /** * Handles the backend logic of merging the histories of two diff --git a/includes/Revision.php b/includes/Revision.php index 486abd894e75..bae974f15c5f 100644 --- a/includes/Revision.php +++ b/includes/Revision.php @@ -19,6 +19,8 @@ * * @file */ + +use Wikimedia\Rdbms\IDatabase; use MediaWiki\Linker\LinkTarget; use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; diff --git a/includes/RevisionList.php b/includes/RevisionList.php index d909a652d7f0..ccdedb8e6165 100644 --- a/includes/RevisionList.php +++ b/includes/RevisionList.php @@ -22,6 +22,7 @@ use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * List for revision table items for a single page @@ -36,7 +37,7 @@ abstract class RevisionListBase extends ContextSource implements Iterator { /** @var ResultWrapper|bool */ protected $res; - /** @var bool|object */ + /** @var bool|Revision */ protected $current; /** diff --git a/includes/SiteStats.php b/includes/SiteStats.php index 105a58188897..bc6b84248ca2 100644 --- a/includes/SiteStats.php +++ b/includes/SiteStats.php @@ -20,6 +20,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * Static accessor class for site_stats and related things */ diff --git a/includes/Title.php b/includes/Title.php index e45994c0946e..1046a5c624c5 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -21,6 +21,8 @@ * * @file */ + +use Wikimedia\Rdbms\IDatabase; use MediaWiki\Linker\LinkTarget; use MediaWiki\Interwiki\InterwikiLookup; use MediaWiki\MediaWikiServices; diff --git a/includes/WatchedItemQueryService.php b/includes/WatchedItemQueryService.php index bc57049801fe..ba7707411a87 100644 --- a/includes/WatchedItemQueryService.php +++ b/includes/WatchedItemQueryService.php @@ -1,5 +1,6 @@ <?php +use Wikimedia\Rdbms\IDatabase; use MediaWiki\Linker\LinkTarget; use Wikimedia\Assert\Assert; use Wikimedia\Rdbms\LoadBalancer; diff --git a/includes/WatchedItemQueryServiceExtension.php b/includes/WatchedItemQueryServiceExtension.php index 6301576f635a..93d50330899c 100644 --- a/includes/WatchedItemQueryServiceExtension.php +++ b/includes/WatchedItemQueryServiceExtension.php @@ -1,6 +1,7 @@ <?php use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Extension mechanism for WatchedItemQueryService diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php index caa3fdbe0669..70fdbf13af97 100644 --- a/includes/WatchedItemStore.php +++ b/includes/WatchedItemStore.php @@ -1,5 +1,6 @@ <?php +use Wikimedia\Rdbms\IDatabase; use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface; use MediaWiki\Linker\LinkTarget; use MediaWiki\MediaWikiServices; diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php index c03faf05135d..fec4234cf03d 100644 --- a/includes/api/ApiBase.php +++ b/includes/api/ApiBase.php @@ -24,6 +24,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * This abstract class implements many basic API functions, and is the base of * all API classes. diff --git a/includes/api/ApiPageSet.php b/includes/api/ApiPageSet.php index 7d16af8f6ba0..85c6860e9e52 100644 --- a/includes/api/ApiPageSet.php +++ b/includes/api/ApiPageSet.php @@ -25,6 +25,7 @@ */ use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * This class contains a list of pages that the client has requested. diff --git a/includes/api/ApiQueryAllImages.php b/includes/api/ApiQueryAllImages.php index ef6bb6ad9943..a40511ca593b 100644 --- a/includes/api/ApiQueryAllImages.php +++ b/includes/api/ApiQueryAllImages.php @@ -26,6 +26,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * Query module to enumerate all available pages. * diff --git a/includes/cache/BacklinkCache.php b/includes/cache/BacklinkCache.php index 0a07a936e43a..72156063ec6d 100644 --- a/includes/cache/BacklinkCache.php +++ b/includes/cache/BacklinkCache.php @@ -28,6 +28,7 @@ use Wikimedia\Rdbms\ResultWrapper; use Wikimedia\Rdbms\FakeResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Class for fetching backlink lists, approximate backlink counts and diff --git a/includes/cache/LinkBatch.php b/includes/cache/LinkBatch.php index 77ab2d59d361..57d4581a5538 100644 --- a/includes/cache/LinkBatch.php +++ b/includes/cache/LinkBatch.php @@ -23,6 +23,7 @@ use MediaWiki\Linker\LinkTarget; use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Class representing a list of titles diff --git a/includes/cache/LinkCache.php b/includes/cache/LinkCache.php index b720decb869a..57f66f1f892c 100644 --- a/includes/cache/LinkCache.php +++ b/includes/cache/LinkCache.php @@ -20,6 +20,7 @@ * @file * @ingroup Cache */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\Linker\LinkTarget; use MediaWiki\MediaWikiServices; diff --git a/includes/cache/localisation/LCStoreDB.php b/includes/cache/localisation/LCStoreDB.php index e7e2d10308f8..52611ec508c3 100644 --- a/includes/cache/localisation/LCStoreDB.php +++ b/includes/cache/localisation/LCStoreDB.php @@ -18,6 +18,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * LCStore implementation which uses the standard DB functions to store data. * This will work on any MediaWiki installation. diff --git a/includes/changes/ChangesListBooleanFilter.php b/includes/changes/ChangesListBooleanFilter.php index b6be1f99afc8..d0c4b7752752 100644 --- a/includes/changes/ChangesListBooleanFilter.php +++ b/includes/changes/ChangesListBooleanFilter.php @@ -22,6 +22,8 @@ * @author Matthew Flaschen */ +use Wikimedia\Rdbms\IDatabase; + /** * An individual filter in a boolean group * diff --git a/includes/changes/ChangesListStringOptionsFilterGroup.php b/includes/changes/ChangesListStringOptionsFilterGroup.php index befc2136f231..86ae33fddc29 100644 --- a/includes/changes/ChangesListStringOptionsFilterGroup.php +++ b/includes/changes/ChangesListStringOptionsFilterGroup.php @@ -22,6 +22,8 @@ * @author Matthew Flaschen */ +use Wikimedia\Rdbms\IDatabase; + /** * Represents a filter group with multiple string options. They are passed to the server as * a single form parameter separated by a delimiter. The parameter name is the diff --git a/includes/changetags/ChangeTagsList.php b/includes/changetags/ChangeTagsList.php index dd8bab987888..a37f5f2c11b2 100644 --- a/includes/changetags/ChangeTagsList.php +++ b/includes/changetags/ChangeTagsList.php @@ -49,8 +49,9 @@ abstract class ChangeTagsList extends RevisionListBase { $className = 'ChangeTagsLogList'; break; default: - throw new Exception( "Class $className requested, but does not exist" ); + throw new Exception( "Class $typeName requested, but does not exist" ); } + return new $className( $context, $title, $ids ); } diff --git a/includes/changetags/ChangeTagsLogList.php b/includes/changetags/ChangeTagsLogList.php index 480aaced7db8..271005f465ce 100644 --- a/includes/changetags/ChangeTagsLogList.php +++ b/includes/changetags/ChangeTagsLogList.php @@ -19,6 +19,8 @@ * @ingroup Change tagging */ +use Wikimedia\Rdbms\IDatabase; + /** * Stores a list of taggable log entries. * @since 1.25 diff --git a/includes/changetags/ChangeTagsRevisionList.php b/includes/changetags/ChangeTagsRevisionList.php index 8eae23844436..a0248c617b2b 100644 --- a/includes/changetags/ChangeTagsRevisionList.php +++ b/includes/changetags/ChangeTagsRevisionList.php @@ -19,6 +19,8 @@ * @ingroup Change tagging */ +use Wikimedia\Rdbms\IDatabase; + /** * Stores a list of taggable revisions. * @since 1.25 diff --git a/includes/db/CloneDatabase.php b/includes/db/CloneDatabase.php index c4921e237420..809b660a1b41 100644 --- a/includes/db/CloneDatabase.php +++ b/includes/db/CloneDatabase.php @@ -24,6 +24,7 @@ * @ingroup Database */ use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\IMaintainableDatabase; class CloneDatabase { /** @var string Table prefix for cloning */ diff --git a/includes/db/ORAResult.php b/includes/db/ORAResult.php index 07c6fc7cf884..fbbc962e0120 100644 --- a/includes/db/ORAResult.php +++ b/includes/db/ORAResult.php @@ -1,5 +1,7 @@ <?php +use Wikimedia\Rdbms\IDatabase; + /** * The oci8 extension is fairly weak and doesn't support oci_num_rows, among * other things. We use a wrapper class to handle that and other diff --git a/includes/deferred/AtomicSectionUpdate.php b/includes/deferred/AtomicSectionUpdate.php index 6585575dc352..8b62989b53ab 100644 --- a/includes/deferred/AtomicSectionUpdate.php +++ b/includes/deferred/AtomicSectionUpdate.php @@ -1,5 +1,7 @@ <?php +use Wikimedia\Rdbms\IDatabase; + /** * Deferrable Update for closure/callback updates via IDatabase::doAtomicSection() * @since 1.27 diff --git a/includes/deferred/AutoCommitUpdate.php b/includes/deferred/AutoCommitUpdate.php index d61dec2cb282..f9297af5840d 100644 --- a/includes/deferred/AutoCommitUpdate.php +++ b/includes/deferred/AutoCommitUpdate.php @@ -1,5 +1,7 @@ <?php +use Wikimedia\Rdbms\IDatabase; + /** * Deferrable Update for closure/callback updates that should use auto-commit mode * @since 1.28 diff --git a/includes/deferred/DeferredUpdates.php b/includes/deferred/DeferredUpdates.php index 0a9755d51b2b..bbe8687b51f6 100644 --- a/includes/deferred/DeferredUpdates.php +++ b/includes/deferred/DeferredUpdates.php @@ -19,6 +19,7 @@ * * @file */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\LBFactory; use Wikimedia\Rdbms\LoadBalancer; diff --git a/includes/deferred/LinksDeletionUpdate.php b/includes/deferred/LinksDeletionUpdate.php index 7215696c142e..ca29078c6319 100644 --- a/includes/deferred/LinksDeletionUpdate.php +++ b/includes/deferred/LinksDeletionUpdate.php @@ -21,6 +21,7 @@ */ use MediaWiki\MediaWikiServices; use Wikimedia\ScopedCallback; +use Wikimedia\Rdbms\IDatabase; /** * Update object handling the cleanup of links tables after a page was deleted. diff --git a/includes/deferred/LinksUpdate.php b/includes/deferred/LinksUpdate.php index 0133f1909e7c..56979609f202 100644 --- a/includes/deferred/LinksUpdate.php +++ b/includes/deferred/LinksUpdate.php @@ -20,6 +20,7 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; use Wikimedia\ScopedCallback; diff --git a/includes/deferred/MWCallableUpdate.php b/includes/deferred/MWCallableUpdate.php index 5247e97cf106..5b822af492b4 100644 --- a/includes/deferred/MWCallableUpdate.php +++ b/includes/deferred/MWCallableUpdate.php @@ -1,5 +1,7 @@ <?php +use Wikimedia\Rdbms\IDatabase; + /** * Deferrable Update for closure/callback */ diff --git a/includes/deferred/SiteStatsUpdate.php b/includes/deferred/SiteStatsUpdate.php index 74266241c89a..aefa7f5d54de 100644 --- a/includes/deferred/SiteStatsUpdate.php +++ b/includes/deferred/SiteStatsUpdate.php @@ -19,6 +19,7 @@ */ use MediaWiki\MediaWikiServices; use Wikimedia\Assert\Assert; +use Wikimedia\Rdbms\IDatabase; /** * Class for handling updates to the site_stats table diff --git a/includes/deferred/SqlDataUpdate.php b/includes/deferred/SqlDataUpdate.php index 25e884114b44..2411beff8950 100644 --- a/includes/deferred/SqlDataUpdate.php +++ b/includes/deferred/SqlDataUpdate.php @@ -21,6 +21,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * @deprecated Since 1.28 Use DataUpdate directly, injecting the database */ diff --git a/includes/deferred/WANCacheReapUpdate.php b/includes/deferred/WANCacheReapUpdate.php index 33ddc59cbd81..b12af1965559 100644 --- a/includes/deferred/WANCacheReapUpdate.php +++ b/includes/deferred/WANCacheReapUpdate.php @@ -1,6 +1,7 @@ <?php use Psr\Log\LoggerInterface; +use Wikimedia\Rdbms\IDatabase; /** * Class for fixing stale WANObjectCache keys using a purge event source diff --git a/includes/export/WikiExporter.php b/includes/export/WikiExporter.php index e41ab54ee341..a307468a7132 100644 --- a/includes/export/WikiExporter.php +++ b/includes/export/WikiExporter.php @@ -28,6 +28,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * @ingroup SpecialPage Dump diff --git a/includes/externalstore/ExternalStoreDB.php b/includes/externalstore/ExternalStoreDB.php index d907c304f485..0b7c5b69c1c8 100644 --- a/includes/externalstore/ExternalStoreDB.php +++ b/includes/externalstore/ExternalStoreDB.php @@ -21,6 +21,7 @@ */ use Wikimedia\Rdbms\LoadBalancer; +use Wikimedia\Rdbms\IDatabase; /** * DB accessable external objects. diff --git a/includes/filebackend/filejournal/DBFileJournal.php b/includes/filebackend/filejournal/DBFileJournal.php index 62e635dd23c7..d09c24587750 100644 --- a/includes/filebackend/filejournal/DBFileJournal.php +++ b/includes/filebackend/filejournal/DBFileJournal.php @@ -23,6 +23,7 @@ */ use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\IDatabase; /** * Version of FileJournal that logs to a DB table diff --git a/includes/filebackend/lockmanager/MySqlLockManager.php b/includes/filebackend/lockmanager/MySqlLockManager.php index 5936e7d1d2a8..8510d0c18cc5 100644 --- a/includes/filebackend/lockmanager/MySqlLockManager.php +++ b/includes/filebackend/lockmanager/MySqlLockManager.php @@ -1,4 +1,7 @@ <?php + +use Wikimedia\Rdbms\IDatabase; + /** * MySQL version of DBLockManager that supports shared locks. * diff --git a/includes/filerepo/ForeignDBRepo.php b/includes/filerepo/ForeignDBRepo.php index 3e8850823ef5..29c017cba808 100644 --- a/includes/filerepo/ForeignDBRepo.php +++ b/includes/filerepo/ForeignDBRepo.php @@ -21,6 +21,8 @@ * @ingroup FileRepo */ +use Wikimedia\Rdbms\IDatabase; + /** * A foreign repository with an accessible MediaWiki database * diff --git a/includes/filerepo/LocalRepo.php b/includes/filerepo/LocalRepo.php index d5e29aba8390..9c92bc0b8a62 100644 --- a/includes/filerepo/LocalRepo.php +++ b/includes/filerepo/LocalRepo.php @@ -23,6 +23,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A repository that stores files in the local filesystem and registers them diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php index a633fd2f8d7d..c109fba9163d 100644 --- a/includes/filerepo/file/LocalFile.php +++ b/includes/filerepo/file/LocalFile.php @@ -22,6 +22,7 @@ */ use \MediaWiki\Logger\LoggerFactory; +use Wikimedia\Rdbms\IDatabase; /** * Class to represent a local file in the wiki's own database diff --git a/includes/installer/DatabaseInstaller.php b/includes/installer/DatabaseInstaller.php index 030553599fcd..22717fc28301 100644 --- a/includes/installer/DatabaseInstaller.php +++ b/includes/installer/DatabaseInstaller.php @@ -21,6 +21,7 @@ * @ingroup Deployment */ use Wikimedia\Rdbms\LBFactorySingle; +use Wikimedia\Rdbms\IDatabase; /** * Base class for DBMS-specific installation helper classes. diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index 98d354cb9564..8913c775bdb0 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -20,6 +20,7 @@ * @file * @ingroup Deployment */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; require_once __DIR__ . '/../../maintenance/Maintenance.php'; diff --git a/includes/jobqueue/JobQueueDB.php b/includes/jobqueue/JobQueueDB.php index 2f5894765f41..8c4017bf1f76 100644 --- a/includes/jobqueue/JobQueueDB.php +++ b/includes/jobqueue/JobQueueDB.php @@ -20,6 +20,7 @@ * @file * @author Aaron Schulz */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; use Wikimedia\ScopedCallback; diff --git a/includes/jobqueue/utils/PurgeJobUtils.php b/includes/jobqueue/utils/PurgeJobUtils.php index d76d8661b49f..ba80c8e450a9 100644 --- a/includes/jobqueue/utils/PurgeJobUtils.php +++ b/includes/jobqueue/utils/PurgeJobUtils.php @@ -20,6 +20,7 @@ * * @file */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; class PurgeJobUtils { diff --git a/includes/libs/lockmanager/DBLockManager.php b/includes/libs/lockmanager/DBLockManager.php index b17b1a0b0d8c..8ef819600850 100644 --- a/includes/libs/lockmanager/DBLockManager.php +++ b/includes/libs/lockmanager/DBLockManager.php @@ -21,6 +21,8 @@ * @ingroup LockManager */ +use Wikimedia\Rdbms\IDatabase; + /** * Version of LockManager based on using named/row DB locks. * diff --git a/includes/libs/rdbms/connectionmanager/ConnectionManager.php b/includes/libs/rdbms/connectionmanager/ConnectionManager.php index fc00965ae4c3..4e4247603b16 100644 --- a/includes/libs/rdbms/connectionmanager/ConnectionManager.php +++ b/includes/libs/rdbms/connectionmanager/ConnectionManager.php @@ -4,7 +4,6 @@ namespace Wikimedia\Rdbms; use Database; use DBConnRef; -use IDatabase; use InvalidArgumentException; /** diff --git a/includes/libs/rdbms/database/DBConnRef.php b/includes/libs/rdbms/database/DBConnRef.php index fc3ebe024a13..e96fe5bcd8a6 100644 --- a/includes/libs/rdbms/database/DBConnRef.php +++ b/includes/libs/rdbms/database/DBConnRef.php @@ -3,6 +3,7 @@ use Wikimedia\Rdbms\DatabaseDomain; use Wikimedia\Rdbms\ILoadBalancer; use Wikimedia\Rdbms\DBMasterPos; +use Wikimedia\Rdbms\IDatabase; /** * Helper class to handle automatically marking connections as reusable (via RAII pattern) diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php index 92adaf9ce668..beb38bc0d70c 100644 --- a/includes/libs/rdbms/database/Database.php +++ b/includes/libs/rdbms/database/Database.php @@ -33,6 +33,8 @@ use Wikimedia\Rdbms\ResultWrapper; use Wikimedia\Rdbms\DBMasterPos; use Wikimedia\Rdbms\Blob; use Wikimedia\Timestamp\ConvertibleTimestamp; +use Wikimedia\Rdbms\IDatabase; +use Wikimedia\Rdbms\IMaintainableDatabase; /** * Relational database abstraction object @@ -366,7 +368,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware } $class = 'Database' . ucfirst( $driver ); - if ( class_exists( $class ) && is_subclass_of( $class, 'IDatabase' ) ) { + if ( class_exists( $class ) && is_subclass_of( $class, IDatabase::class ) ) { // Resolve some defaults for b/c $p['host'] = isset( $p['host'] ) ? $p['host'] : false; $p['user'] = isset( $p['user'] ) ? $p['user'] : false; diff --git a/includes/libs/rdbms/database/IDatabase.php b/includes/libs/rdbms/database/IDatabase.php index 6bc870b42563..0b146cd80ba9 100644 --- a/includes/libs/rdbms/database/IDatabase.php +++ b/includes/libs/rdbms/database/IDatabase.php @@ -23,12 +23,17 @@ * @file * @ingroup Database */ +namespace Wikimedia\Rdbms; + use Wikimedia\ScopedCallback; -use Wikimedia\Rdbms\Blob; -use Wikimedia\Rdbms\LikeMatch; -use Wikimedia\Rdbms\DBMasterPos; -use Wikimedia\Rdbms\Field; -use Wikimedia\Rdbms\IResultWrapper; +use DBError; +use DBConnectionError; +use DBUnexpectedError; +use DBQueryError; +use Exception; +use RuntimeException; +use UnexpectedValueException; +use stdClass; /** * Basic database interface for live and lazy-loaded relation database handles @@ -1802,3 +1807,5 @@ interface IDatabase { */ public function setTableAliases( array $aliases ); } + +class_alias( 'Wikimedia\Rdbms\IDatabase', 'IDatabase' ); diff --git a/includes/libs/rdbms/database/IMaintainableDatabase.php b/includes/libs/rdbms/database/IMaintainableDatabase.php index 43cec28a629e..138cf2de9e8d 100644 --- a/includes/libs/rdbms/database/IMaintainableDatabase.php +++ b/includes/libs/rdbms/database/IMaintainableDatabase.php @@ -22,6 +22,11 @@ * @file * @ingroup Database */ +namespace Wikimedia\Rdbms; + +use Exception; +use RuntimeException; +use DBUnexpectedError; /** * Advanced database interface for IDatabase handles that include maintenance methods @@ -206,3 +211,5 @@ interface IMaintainableDatabase extends IDatabase { $oldName, $newName, $temporary = false, $fname = __METHOD__ ); } + +class_alias( 'Wikimedia\Rdbms\IMaintainableDatabase', 'IMaintainableDatabase' ); diff --git a/includes/libs/rdbms/database/MaintainableDBConnRef.php b/includes/libs/rdbms/database/MaintainableDBConnRef.php index fa3ddf9eb9c4..b5ff57578dc7 100644 --- a/includes/libs/rdbms/database/MaintainableDBConnRef.php +++ b/includes/libs/rdbms/database/MaintainableDBConnRef.php @@ -1,4 +1,7 @@ <?php + +use Wikimedia\Rdbms\IMaintainableDatabase; + /** * Helper class to handle automatically marking connections as reusable (via RAII pattern) * as well handling deferring the actual network connection until the handle is used diff --git a/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php b/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php index d658c96b3a2a..df354af8ec72 100644 --- a/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php +++ b/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php @@ -2,7 +2,6 @@ namespace Wikimedia\Rdbms; -use IDatabase; use stdClass; use RuntimeException; diff --git a/includes/libs/rdbms/defines.php b/includes/libs/rdbms/defines.php index c3367e78498f..cbc8ca31692c 100644 --- a/includes/libs/rdbms/defines.php +++ b/includes/libs/rdbms/defines.php @@ -1,6 +1,7 @@ <?php use Wikimedia\Rdbms\ILoadBalancer; +use Wikimedia\Rdbms\IDatabase; /**@{ * Database related constants diff --git a/includes/libs/rdbms/exception/DBConnectionError.php b/includes/libs/rdbms/exception/DBConnectionError.php index 47f8c9620b79..dca1302bbce3 100644 --- a/includes/libs/rdbms/exception/DBConnectionError.php +++ b/includes/libs/rdbms/exception/DBConnectionError.php @@ -18,6 +18,7 @@ * @file * @ingroup Database */ +use Wikimedia\Rdbms\IDatabase; /** * @ingroup Database diff --git a/includes/libs/rdbms/exception/DBError.php b/includes/libs/rdbms/exception/DBError.php index 526596d0b12c..226c675d6546 100644 --- a/includes/libs/rdbms/exception/DBError.php +++ b/includes/libs/rdbms/exception/DBError.php @@ -18,6 +18,7 @@ * @file * @ingroup Database */ +use Wikimedia\Rdbms\IDatabase; /** * Database error base class diff --git a/includes/libs/rdbms/exception/DBExpectedError.php b/includes/libs/rdbms/exception/DBExpectedError.php index 7d303b1d8f6f..57538a8ac7e5 100644 --- a/includes/libs/rdbms/exception/DBExpectedError.php +++ b/includes/libs/rdbms/exception/DBExpectedError.php @@ -18,6 +18,7 @@ * @file * @ingroup Database */ +use Wikimedia\Rdbms\IDatabase; /** * Base class for the more common types of database errors. These are known to occur diff --git a/includes/libs/rdbms/exception/DBQueryError.php b/includes/libs/rdbms/exception/DBQueryError.php index 002d25392410..b4c3d529f58b 100644 --- a/includes/libs/rdbms/exception/DBQueryError.php +++ b/includes/libs/rdbms/exception/DBQueryError.php @@ -18,6 +18,7 @@ * @file * @ingroup Database */ +use Wikimedia\Rdbms\IDatabase; /** * @ingroup Database diff --git a/includes/libs/rdbms/lbfactory/LBFactory.php b/includes/libs/rdbms/lbfactory/LBFactory.php index f05dabc80f88..f8142bfb97d6 100644 --- a/includes/libs/rdbms/lbfactory/LBFactory.php +++ b/includes/libs/rdbms/lbfactory/LBFactory.php @@ -30,7 +30,6 @@ use EmptyBagOStuff; use WANObjectCache; use Exception; use RuntimeException; -use IDatabase; use DBTransactionError; use DBReplicationWaitError; diff --git a/includes/libs/rdbms/lbfactory/LBFactoryMulti.php b/includes/libs/rdbms/lbfactory/LBFactoryMulti.php index 447b96f951bc..e2ae5f9065b0 100644 --- a/includes/libs/rdbms/lbfactory/LBFactoryMulti.php +++ b/includes/libs/rdbms/lbfactory/LBFactoryMulti.php @@ -23,7 +23,6 @@ namespace Wikimedia\Rdbms; -use IDatabase; use InvalidArgumentException; /** diff --git a/includes/libs/rdbms/lbfactory/LBFactorySingle.php b/includes/libs/rdbms/lbfactory/LBFactorySingle.php index 5931d8020544..cd998c3e7b0a 100644 --- a/includes/libs/rdbms/lbfactory/LBFactorySingle.php +++ b/includes/libs/rdbms/lbfactory/LBFactorySingle.php @@ -23,7 +23,6 @@ namespace Wikimedia\Rdbms; -use IDatabase; use InvalidArgumentException; use BadMethodCallException; diff --git a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php index 4c277ff69009..19495dcb9e5b 100644 --- a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php @@ -23,7 +23,6 @@ */ namespace Wikimedia\Rdbms; -use IDatabase; use Database; use DBConnRef; use MaintainableDBConnRef; diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php b/includes/libs/rdbms/loadbalancer/LoadBalancer.php index 6878712d55f5..93fdc80c4f17 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php @@ -25,7 +25,6 @@ namespace Wikimedia\Rdbms; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; use Wikimedia\ScopedCallback; -use IDatabase; use Database; use DBConnRef; use MaintainableDBConnRef; diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php b/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php index b9fefda979c9..79d250f6a063 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php @@ -23,7 +23,6 @@ namespace Wikimedia\Rdbms; -use IDatabase; use InvalidArgumentException; /** diff --git a/includes/libs/rdbms/loadmonitor/LoadMonitor.php b/includes/libs/rdbms/loadmonitor/LoadMonitor.php index 5e92c33ab3e7..d120b6f3d23b 100644 --- a/includes/libs/rdbms/loadmonitor/LoadMonitor.php +++ b/includes/libs/rdbms/loadmonitor/LoadMonitor.php @@ -24,7 +24,6 @@ namespace Wikimedia\Rdbms; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; use Wikimedia\ScopedCallback; -use IDatabase; use BagOStuff; /** diff --git a/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php b/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php index c0db68c3a4d3..ff72dbc96f8f 100644 --- a/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php +++ b/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php @@ -21,7 +21,6 @@ namespace Wikimedia\Rdbms; -use IDatabase; use BagOStuff; /** diff --git a/includes/logging/LogEntry.php b/includes/logging/LogEntry.php index c9f13457de3d..1c5899ba85fa 100644 --- a/includes/logging/LogEntry.php +++ b/includes/logging/LogEntry.php @@ -28,6 +28,8 @@ * @since 1.19 */ +use Wikimedia\Rdbms\IDatabase; + /** * Interface for log entries. Every log entry has these methods. * diff --git a/includes/logging/LogEventsList.php b/includes/logging/LogEventsList.php index 43829109cb61..317652a3b7aa 100644 --- a/includes/logging/LogEventsList.php +++ b/includes/logging/LogEventsList.php @@ -24,6 +24,7 @@ */ use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\IDatabase; class LogEventsList extends ContextSource { const NO_ACTION_LINK = 1; diff --git a/includes/objectcache/SqlBagOStuff.php b/includes/objectcache/SqlBagOStuff.php index 07581d7f448e..8f94374dd03e 100644 --- a/includes/objectcache/SqlBagOStuff.php +++ b/includes/objectcache/SqlBagOStuff.php @@ -21,6 +21,7 @@ * @ingroup Cache */ +use Wikimedia\Rdbms\IDatabase; use \MediaWiki\MediaWikiServices; use \Wikimedia\WaitConditionLoop; use \Wikimedia\Rdbms\TransactionProfiler; diff --git a/includes/page/PageArchive.php b/includes/page/PageArchive.php index 388e69371b8e..c2bfb07c625d 100644 --- a/includes/page/PageArchive.php +++ b/includes/page/PageArchive.php @@ -20,6 +20,7 @@ use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Used to show archived pages and eventually restore them. diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 4bc8ad612558..4123c272b2a7 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -23,6 +23,7 @@ use \MediaWiki\Logger\LoggerFactory; use \MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\FakeResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Class representing a MediaWiki article and history. diff --git a/includes/pager/IndexPager.php b/includes/pager/IndexPager.php index 46948909c69f..0b867ef00e91 100644 --- a/includes/pager/IndexPager.php +++ b/includes/pager/IndexPager.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * IndexPager is an efficient pager which uses a (roughly unique) index in the diff --git a/includes/resourceloader/ResourceLoaderWikiModule.php b/includes/resourceloader/ResourceLoaderWikiModule.php index f6f14b37d487..92095f7f0f69 100644 --- a/includes/resourceloader/ResourceLoaderWikiModule.php +++ b/includes/resourceloader/ResourceLoaderWikiModule.php @@ -22,6 +22,8 @@ * @author Roan Kattouw */ +use Wikimedia\Rdbms\IDatabase; + /** * Abstraction for ResourceLoader modules which pull from wiki pages * diff --git a/includes/revisiondelete/RevDelArchiveList.php b/includes/revisiondelete/RevDelArchiveList.php index ad9259b3077c..9afaf404c81b 100644 --- a/includes/revisiondelete/RevDelArchiveList.php +++ b/includes/revisiondelete/RevDelArchiveList.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\IDatabase; + /** * List for archive table items, i.e. revisions deleted via action=delete */ diff --git a/includes/revisiondelete/RevDelArchivedFileList.php b/includes/revisiondelete/RevDelArchivedFileList.php index afee6374c9a2..1d80d8696cf9 100644 --- a/includes/revisiondelete/RevDelArchivedFileList.php +++ b/includes/revisiondelete/RevDelArchivedFileList.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\IDatabase; + /** * List for filearchive table items */ diff --git a/includes/revisiondelete/RevDelFileItem.php b/includes/revisiondelete/RevDelFileItem.php index 9beafc9893b4..62bafe948530 100644 --- a/includes/revisiondelete/RevDelFileItem.php +++ b/includes/revisiondelete/RevDelFileItem.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\IDatabase; + /** * Item class for an oldimage table row */ diff --git a/includes/revisiondelete/RevDelFileList.php b/includes/revisiondelete/RevDelFileList.php index 00cb2e147ce4..77cf97676206 100644 --- a/includes/revisiondelete/RevDelFileList.php +++ b/includes/revisiondelete/RevDelFileList.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\IDatabase; + /** * List for oldimage table items */ diff --git a/includes/revisiondelete/RevDelLogList.php b/includes/revisiondelete/RevDelLogList.php index ff1d2eda1ed3..19327781150f 100644 --- a/includes/revisiondelete/RevDelLogList.php +++ b/includes/revisiondelete/RevDelLogList.php @@ -19,6 +19,8 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\IDatabase; + /** * List for logging table items */ diff --git a/includes/revisiondelete/RevDelRevisionList.php b/includes/revisiondelete/RevDelRevisionList.php index 453c6cca70f4..1ea6a381b596 100644 --- a/includes/revisiondelete/RevDelRevisionList.php +++ b/includes/revisiondelete/RevDelRevisionList.php @@ -20,6 +20,7 @@ */ use Wikimedia\Rdbms\FakeResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * List for revision table items diff --git a/includes/revisiondelete/RevisionDeleteUser.php b/includes/revisiondelete/RevisionDeleteUser.php index 7f41eb2a1a93..7812fb9819ef 100644 --- a/includes/revisiondelete/RevisionDeleteUser.php +++ b/includes/revisiondelete/RevisionDeleteUser.php @@ -21,6 +21,8 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\IDatabase; + /** * Backend functions for suppressing and unsuppressing all references to a given user, * used when blocking with HideUser enabled. This was spun out of SpecialBlockip.php diff --git a/includes/search/SearchDatabase.php b/includes/search/SearchDatabase.php index 38c60d0bec74..d51e525b6068 100644 --- a/includes/search/SearchDatabase.php +++ b/includes/search/SearchDatabase.php @@ -21,6 +21,8 @@ * @ingroup Search */ +use Wikimedia\Rdbms\IDatabase; + /** * Base search engine base class for database-backed searches * @ingroup Search diff --git a/includes/search/SearchEngineFactory.php b/includes/search/SearchEngineFactory.php index a767bc313097..613d33ca093f 100644 --- a/includes/search/SearchEngineFactory.php +++ b/includes/search/SearchEngineFactory.php @@ -1,5 +1,7 @@ <?php +use Wikimedia\Rdbms\IDatabase; + /** * Factory class for SearchEngine. * Allows to create engine of the specific type. diff --git a/includes/specialpage/ChangesListSpecialPage.php b/includes/specialpage/ChangesListSpecialPage.php index 1832233e4b52..0a8c9f494ffa 100644 --- a/includes/specialpage/ChangesListSpecialPage.php +++ b/includes/specialpage/ChangesListSpecialPage.php @@ -22,6 +22,7 @@ */ use MediaWiki\Logger\LoggerFactory; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Special page which uses a ChangesList to show query results. diff --git a/includes/specialpage/ImageQueryPage.php b/includes/specialpage/ImageQueryPage.php index bafee656608f..59abefd83e9f 100644 --- a/includes/specialpage/ImageQueryPage.php +++ b/includes/specialpage/ImageQueryPage.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Variant of QueryPage which uses a gallery to output results, thus diff --git a/includes/specialpage/PageQueryPage.php b/includes/specialpage/PageQueryPage.php index 45cef2b4500d..76b1535fdead 100644 --- a/includes/specialpage/PageQueryPage.php +++ b/includes/specialpage/PageQueryPage.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Variant of QueryPage which formats the result as a simple link to the page diff --git a/includes/specialpage/QueryPage.php b/includes/specialpage/QueryPage.php index 7bc2dfa5ae76..68d2d3073eac 100644 --- a/includes/specialpage/QueryPage.php +++ b/includes/specialpage/QueryPage.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * This is a class for doing query pages; since they're almost all the same, diff --git a/includes/specialpage/WantedQueryPage.php b/includes/specialpage/WantedQueryPage.php index e7bc49626287..d788f2bbcdbb 100644 --- a/includes/specialpage/WantedQueryPage.php +++ b/includes/specialpage/WantedQueryPage.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Class definition for a wanted query page like diff --git a/includes/specials/SpecialBrokenRedirects.php b/includes/specials/SpecialBrokenRedirects.php index 9aba41e25c98..cd9345d1bf74 100644 --- a/includes/specials/SpecialBrokenRedirects.php +++ b/includes/specials/SpecialBrokenRedirects.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page listing redirects to non existent page. Those should be diff --git a/includes/specials/SpecialDoubleRedirects.php b/includes/specials/SpecialDoubleRedirects.php index 59351dcba52a..d7e99db817ac 100644 --- a/includes/specials/SpecialDoubleRedirects.php +++ b/includes/specials/SpecialDoubleRedirects.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page listing redirects to redirecting page. diff --git a/includes/specials/SpecialLinkSearch.php b/includes/specials/SpecialLinkSearch.php index a1f5efae9a25..dae60744dce9 100644 --- a/includes/specials/SpecialLinkSearch.php +++ b/includes/specials/SpecialLinkSearch.php @@ -23,6 +23,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Special:LinkSearch to search the external-links table. diff --git a/includes/specials/SpecialListDuplicatedFiles.php b/includes/specials/SpecialListDuplicatedFiles.php index 52c710dd3373..d5fb0018cafd 100644 --- a/includes/specials/SpecialListDuplicatedFiles.php +++ b/includes/specials/SpecialListDuplicatedFiles.php @@ -25,6 +25,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Special:ListDuplicatedFiles Lists all files where the current version is diff --git a/includes/specials/SpecialListredirects.php b/includes/specials/SpecialListredirects.php index b2d6a3329110..5f3862973be5 100644 --- a/includes/specials/SpecialListredirects.php +++ b/includes/specials/SpecialListredirects.php @@ -25,6 +25,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Special:Listredirects - Lists all the redirects on the wiki. diff --git a/includes/specials/SpecialMediaStatistics.php b/includes/specials/SpecialMediaStatistics.php index a88767ae4dda..7c4b49093015 100644 --- a/includes/specials/SpecialMediaStatistics.php +++ b/includes/specials/SpecialMediaStatistics.php @@ -23,6 +23,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * @ingroup SpecialPage diff --git a/includes/specials/SpecialMostcategories.php b/includes/specials/SpecialMostcategories.php index 0776eec7b9f3..bebed12e381c 100644 --- a/includes/specials/SpecialMostcategories.php +++ b/includes/specials/SpecialMostcategories.php @@ -25,6 +25,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page that list pages that have highest category count diff --git a/includes/specials/SpecialMostinterwikis.php b/includes/specials/SpecialMostinterwikis.php index 8560dca35722..c140ee9633fe 100644 --- a/includes/specials/SpecialMostinterwikis.php +++ b/includes/specials/SpecialMostinterwikis.php @@ -25,6 +25,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page that listed pages that have highest interwiki count diff --git a/includes/specials/SpecialMostlinked.php b/includes/specials/SpecialMostlinked.php index ff8550d10afa..fbfaa73831f2 100644 --- a/includes/specials/SpecialMostlinked.php +++ b/includes/specials/SpecialMostlinked.php @@ -26,6 +26,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page to show pages ordered by the number of pages linking to them. diff --git a/includes/specials/SpecialMostlinkedcategories.php b/includes/specials/SpecialMostlinkedcategories.php index 699940b2e9f9..956207f883a5 100644 --- a/includes/specials/SpecialMostlinkedcategories.php +++ b/includes/specials/SpecialMostlinkedcategories.php @@ -25,6 +25,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A querypage to show categories ordered in descending order by the pages in them diff --git a/includes/specials/SpecialMostlinkedtemplates.php b/includes/specials/SpecialMostlinkedtemplates.php index f5c2c5fb5044..dee1c8ec5b9a 100644 --- a/includes/specials/SpecialMostlinkedtemplates.php +++ b/includes/specials/SpecialMostlinkedtemplates.php @@ -23,6 +23,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Special page lists templates with a large number of diff --git a/includes/specials/SpecialShortpages.php b/includes/specials/SpecialShortpages.php index a5e51134b9f9..3282a7a1cd41 100644 --- a/includes/specials/SpecialShortpages.php +++ b/includes/specials/SpecialShortpages.php @@ -22,6 +22,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * SpecialShortpages extends QueryPage. It is used to return the shortest diff --git a/includes/specials/SpecialUnwatchedpages.php b/includes/specials/SpecialUnwatchedpages.php index e82279e2248a..fea7e2160da1 100644 --- a/includes/specials/SpecialUnwatchedpages.php +++ b/includes/specials/SpecialUnwatchedpages.php @@ -25,6 +25,7 @@ */ use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page that displays a list of pages that are not on anyones watchlist. diff --git a/includes/specials/SpecialWatchlist.php b/includes/specials/SpecialWatchlist.php index 4a17533d6ddc..906614856427 100644 --- a/includes/specials/SpecialWatchlist.php +++ b/includes/specials/SpecialWatchlist.php @@ -23,6 +23,7 @@ use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * A special page that lists last changes made to the wiki, diff --git a/includes/specials/SpecialWhatlinkshere.php b/includes/specials/SpecialWhatlinkshere.php index 439b6ab3cba9..6f91c46f8616 100644 --- a/includes/specials/SpecialWhatlinkshere.php +++ b/includes/specials/SpecialWhatlinkshere.php @@ -21,6 +21,8 @@ * @todo Use some variant of Pager or something; the pagination here is lousy. */ +use Wikimedia\Rdbms\IDatabase; + /** * Implements Special:Whatlinkshere * diff --git a/includes/specials/pagers/ContribsPager.php b/includes/specials/pagers/ContribsPager.php index 5126bad1a891..11336251ec64 100644 --- a/includes/specials/pagers/ContribsPager.php +++ b/includes/specials/pagers/ContribsPager.php @@ -26,6 +26,7 @@ use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\ResultWrapper; use Wikimedia\Rdbms\FakeResultWrapper; +use Wikimedia\Rdbms\IDatabase; class ContribsPager extends ReverseChronologicalPager { diff --git a/includes/user/UserGroupMembership.php b/includes/user/UserGroupMembership.php index 59ca31cbb236..81a4083bb49d 100644 --- a/includes/user/UserGroupMembership.php +++ b/includes/user/UserGroupMembership.php @@ -20,6 +20,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * Represents a "user group membership" -- a specific instance of a user belonging * to a group. For example, the fact that user Mary belongs to the sysop group is a diff --git a/includes/user/UserRightsProxy.php b/includes/user/UserRightsProxy.php index d801fa091b80..4df73f7328e1 100644 --- a/includes/user/UserRightsProxy.php +++ b/includes/user/UserRightsProxy.php @@ -20,6 +20,8 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; + /** * Cut-down copy of User interface for local-interwiki-database * user rights manipulation. diff --git a/includes/utils/BatchRowIterator.php b/includes/utils/BatchRowIterator.php index 43bccba57186..e107fb15bac4 100644 --- a/includes/utils/BatchRowIterator.php +++ b/includes/utils/BatchRowIterator.php @@ -1,4 +1,7 @@ <?php + +use Wikimedia\Rdbms\IDatabase; + /** * Allows iterating a large number of rows in batches transparently. * By default when iterated over returns the full query result as an diff --git a/includes/utils/BatchRowWriter.php b/includes/utils/BatchRowWriter.php index a6e47c89764a..70afb91c1bca 100644 --- a/includes/utils/BatchRowWriter.php +++ b/includes/utils/BatchRowWriter.php @@ -20,6 +20,7 @@ * @file * @ingroup Maintenance */ +use Wikimedia\Rdbms\IDatabase; use \MediaWiki\MediaWikiServices; class BatchRowWriter { diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php index 62dc36c18d43..a8080c50be84 100644 --- a/maintenance/Maintenance.php +++ b/maintenance/Maintenance.php @@ -36,6 +36,7 @@ define( 'DO_MAINTENANCE', RUN_MAINTENANCE_IF_MAIN ); // original name, harmless $maintClass = false; +use Wikimedia\Rdbms\IDatabase; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\LBFactory; diff --git a/maintenance/backup.inc b/maintenance/backup.inc index 286fb58fb641..60b8a7a9bb88 100644 --- a/maintenance/backup.inc +++ b/maintenance/backup.inc @@ -28,6 +28,7 @@ require_once __DIR__ . '/Maintenance.php'; require_once __DIR__ . '/../includes/export/DumpFilter.php'; use Wikimedia\Rdbms\LoadBalancer; +use Wikimedia\Rdbms\IDatabase; /** * @ingroup Dump Maintenance diff --git a/maintenance/cleanupRemovedModules.php b/maintenance/cleanupRemovedModules.php index 83ab35c339e5..dbaf6438c2e3 100644 --- a/maintenance/cleanupRemovedModules.php +++ b/maintenance/cleanupRemovedModules.php @@ -23,6 +23,7 @@ */ use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\IDatabase; require_once __DIR__ . '/Maintenance.php'; diff --git a/maintenance/purgeModuleDeps.php b/maintenance/purgeModuleDeps.php index 3088baad0960..feeeb65b6578 100644 --- a/maintenance/purgeModuleDeps.php +++ b/maintenance/purgeModuleDeps.php @@ -22,7 +22,7 @@ * @author Timo Tijhof */ -use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\IDatabase; require_once __DIR__ . '/Maintenance.php'; diff --git a/maintenance/refreshLinks.php b/maintenance/refreshLinks.php index 06fcbaf06bdb..67f778062b7f 100644 --- a/maintenance/refreshLinks.php +++ b/maintenance/refreshLinks.php @@ -21,6 +21,8 @@ * @ingroup Maintenance */ +use Wikimedia\Rdbms\IDatabase; + require_once __DIR__ . '/Maintenance.php'; /** diff --git a/maintenance/runBatchedQuery.php b/maintenance/runBatchedQuery.php index f8eedb33a002..b0a2b9242834 100644 --- a/maintenance/runBatchedQuery.php +++ b/maintenance/runBatchedQuery.php @@ -25,6 +25,8 @@ require_once __DIR__ . '/Maintenance.php'; +use Wikimedia\Rdbms\IDatabase; + /** * Maintenance script to run a database query in batches and wait for replica DBs. * diff --git a/maintenance/sql.php b/maintenance/sql.php index 58472e9bdf96..b03620dd6a61 100644 --- a/maintenance/sql.php +++ b/maintenance/sql.php @@ -25,6 +25,7 @@ require_once __DIR__ . '/Maintenance.php'; use Wikimedia\Rdbms\ResultWrapper; +use Wikimedia\Rdbms\IDatabase; /** * Maintenance script that sends SQL queries from the specified file to the database. diff --git a/tests/parser/DbTestRecorder.php b/tests/parser/DbTestRecorder.php index 04a2a8d44722..f68f5953d1f6 100644 --- a/tests/parser/DbTestRecorder.php +++ b/tests/parser/DbTestRecorder.php @@ -19,11 +19,14 @@ * @ingroup Testing */ +use Wikimedia\Rdbms\IMaintainableDatabase; + class DbTestRecorder extends TestRecorder { public $version; + /** @var Database */ private $db; - public function __construct( IDatabase $db ) { + public function __construct( IMaintainableDatabase $db ) { $this->db = $db; } diff --git a/tests/parser/ParserTestRunner.php b/tests/parser/ParserTestRunner.php index 35c2480d0221..f100411f253c 100644 --- a/tests/parser/ParserTestRunner.php +++ b/tests/parser/ParserTestRunner.php @@ -25,6 +25,7 @@ * @file * @ingroup Testing */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; use Wikimedia\ScopedCallback; diff --git a/tests/phpunit/includes/db/DatabaseTest.php b/tests/phpunit/includes/db/DatabaseTest.php index 606a20989cc5..45791e2424f1 100644 --- a/tests/phpunit/includes/db/DatabaseTest.php +++ b/tests/phpunit/includes/db/DatabaseTest.php @@ -1,5 +1,7 @@ <?php +use Wikimedia\Rdbms\IDatabase; + /** * @group Database * @group Database diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php index 4048ffe6d47c..5cab8e2ff6d3 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php @@ -1,6 +1,7 @@ <?php use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\IDatabase; class ResourceLoaderWikiModuleTest extends ResourceLoaderTestCase { |