aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--autoload.php2
-rw-r--r--includes/Block.php1
-rw-r--r--includes/CategoryFinder.php2
-rw-r--r--includes/Defines.php2
-rw-r--r--includes/MergeHistory.php1
-rw-r--r--includes/Revision.php2
-rw-r--r--includes/RevisionList.php3
-rw-r--r--includes/SiteStats.php2
-rw-r--r--includes/Title.php2
-rw-r--r--includes/WatchedItemQueryService.php1
-rw-r--r--includes/WatchedItemQueryServiceExtension.php1
-rw-r--r--includes/WatchedItemStore.php1
-rw-r--r--includes/api/ApiBase.php2
-rw-r--r--includes/api/ApiPageSet.php1
-rw-r--r--includes/api/ApiQueryAllImages.php2
-rw-r--r--includes/cache/BacklinkCache.php1
-rw-r--r--includes/cache/LinkBatch.php1
-rw-r--r--includes/cache/LinkCache.php1
-rw-r--r--includes/cache/localisation/LCStoreDB.php2
-rw-r--r--includes/changes/ChangesListBooleanFilter.php2
-rw-r--r--includes/changes/ChangesListStringOptionsFilterGroup.php2
-rw-r--r--includes/changetags/ChangeTagsList.php3
-rw-r--r--includes/changetags/ChangeTagsLogList.php2
-rw-r--r--includes/changetags/ChangeTagsRevisionList.php2
-rw-r--r--includes/db/CloneDatabase.php1
-rw-r--r--includes/db/ORAResult.php2
-rw-r--r--includes/deferred/AtomicSectionUpdate.php2
-rw-r--r--includes/deferred/AutoCommitUpdate.php2
-rw-r--r--includes/deferred/DeferredUpdates.php1
-rw-r--r--includes/deferred/LinksDeletionUpdate.php1
-rw-r--r--includes/deferred/LinksUpdate.php1
-rw-r--r--includes/deferred/MWCallableUpdate.php2
-rw-r--r--includes/deferred/SiteStatsUpdate.php1
-rw-r--r--includes/deferred/SqlDataUpdate.php2
-rw-r--r--includes/deferred/WANCacheReapUpdate.php1
-rw-r--r--includes/export/WikiExporter.php1
-rw-r--r--includes/externalstore/ExternalStoreDB.php1
-rw-r--r--includes/filebackend/filejournal/DBFileJournal.php1
-rw-r--r--includes/filebackend/lockmanager/MySqlLockManager.php3
-rw-r--r--includes/filerepo/ForeignDBRepo.php2
-rw-r--r--includes/filerepo/LocalRepo.php1
-rw-r--r--includes/filerepo/file/LocalFile.php1
-rw-r--r--includes/installer/DatabaseInstaller.php1
-rw-r--r--includes/installer/DatabaseUpdater.php1
-rw-r--r--includes/jobqueue/JobQueueDB.php1
-rw-r--r--includes/jobqueue/utils/PurgeJobUtils.php1
-rw-r--r--includes/libs/lockmanager/DBLockManager.php2
-rw-r--r--includes/libs/rdbms/connectionmanager/ConnectionManager.php1
-rw-r--r--includes/libs/rdbms/database/DBConnRef.php1
-rw-r--r--includes/libs/rdbms/database/Database.php4
-rw-r--r--includes/libs/rdbms/database/IDatabase.php17
-rw-r--r--includes/libs/rdbms/database/IMaintainableDatabase.php7
-rw-r--r--includes/libs/rdbms/database/MaintainableDBConnRef.php3
-rw-r--r--includes/libs/rdbms/database/resultwrapper/ResultWrapper.php1
-rw-r--r--includes/libs/rdbms/defines.php1
-rw-r--r--includes/libs/rdbms/exception/DBConnectionError.php1
-rw-r--r--includes/libs/rdbms/exception/DBError.php1
-rw-r--r--includes/libs/rdbms/exception/DBExpectedError.php1
-rw-r--r--includes/libs/rdbms/exception/DBQueryError.php1
-rw-r--r--includes/libs/rdbms/lbfactory/LBFactory.php1
-rw-r--r--includes/libs/rdbms/lbfactory/LBFactoryMulti.php1
-rw-r--r--includes/libs/rdbms/lbfactory/LBFactorySingle.php1
-rw-r--r--includes/libs/rdbms/loadbalancer/ILoadBalancer.php1
-rw-r--r--includes/libs/rdbms/loadbalancer/LoadBalancer.php1
-rw-r--r--includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php1
-rw-r--r--includes/libs/rdbms/loadmonitor/LoadMonitor.php1
-rw-r--r--includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php1
-rw-r--r--includes/logging/LogEntry.php2
-rw-r--r--includes/logging/LogEventsList.php1
-rw-r--r--includes/objectcache/SqlBagOStuff.php1
-rw-r--r--includes/page/PageArchive.php1
-rw-r--r--includes/page/WikiPage.php1
-rw-r--r--includes/pager/IndexPager.php1
-rw-r--r--includes/resourceloader/ResourceLoaderWikiModule.php2
-rw-r--r--includes/revisiondelete/RevDelArchiveList.php2
-rw-r--r--includes/revisiondelete/RevDelArchivedFileList.php2
-rw-r--r--includes/revisiondelete/RevDelFileItem.php2
-rw-r--r--includes/revisiondelete/RevDelFileList.php2
-rw-r--r--includes/revisiondelete/RevDelLogList.php2
-rw-r--r--includes/revisiondelete/RevDelRevisionList.php1
-rw-r--r--includes/revisiondelete/RevisionDeleteUser.php2
-rw-r--r--includes/search/SearchDatabase.php2
-rw-r--r--includes/search/SearchEngineFactory.php2
-rw-r--r--includes/specialpage/ChangesListSpecialPage.php1
-rw-r--r--includes/specialpage/ImageQueryPage.php1
-rw-r--r--includes/specialpage/PageQueryPage.php1
-rw-r--r--includes/specialpage/QueryPage.php1
-rw-r--r--includes/specialpage/WantedQueryPage.php1
-rw-r--r--includes/specials/SpecialBrokenRedirects.php1
-rw-r--r--includes/specials/SpecialDoubleRedirects.php1
-rw-r--r--includes/specials/SpecialLinkSearch.php1
-rw-r--r--includes/specials/SpecialListDuplicatedFiles.php1
-rw-r--r--includes/specials/SpecialListredirects.php1
-rw-r--r--includes/specials/SpecialMediaStatistics.php1
-rw-r--r--includes/specials/SpecialMostcategories.php1
-rw-r--r--includes/specials/SpecialMostinterwikis.php1
-rw-r--r--includes/specials/SpecialMostlinked.php1
-rw-r--r--includes/specials/SpecialMostlinkedcategories.php1
-rw-r--r--includes/specials/SpecialMostlinkedtemplates.php1
-rw-r--r--includes/specials/SpecialShortpages.php1
-rw-r--r--includes/specials/SpecialUnwatchedpages.php1
-rw-r--r--includes/specials/SpecialWatchlist.php1
-rw-r--r--includes/specials/SpecialWhatlinkshere.php2
-rw-r--r--includes/specials/pagers/ContribsPager.php1
-rw-r--r--includes/user/UserGroupMembership.php2
-rw-r--r--includes/user/UserRightsProxy.php2
-rw-r--r--includes/utils/BatchRowIterator.php3
-rw-r--r--includes/utils/BatchRowWriter.php1
-rw-r--r--maintenance/Maintenance.php1
-rw-r--r--maintenance/backup.inc1
-rw-r--r--maintenance/cleanupRemovedModules.php1
-rw-r--r--maintenance/purgeModuleDeps.php2
-rw-r--r--maintenance/refreshLinks.php2
-rw-r--r--maintenance/runBatchedQuery.php2
-rw-r--r--maintenance/sql.php1
-rw-r--r--tests/parser/DbTestRecorder.php5
-rw-r--r--tests/parser/ParserTestRunner.php1
-rw-r--r--tests/phpunit/includes/db/DatabaseTest.php2
-rw-r--r--tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php1
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 {