Commit graph

170 commits

Author SHA1 Message Date
Umherirrender 96ef4cfd2d Migrate to IReadableDatabase::newSelectQueryBuilder
Also use expression builder to avoid raw sql

Bug: T312333
Change-Id: I6ce22de6637fccca8cf86a405bc023f268ff693b
2024-04-28 01:05:10 +02:00
jenkins-bot 71ec391deb Merge "Migrate to IDatabase::newInsertQueryBuilder/newUpdateQueryBuilder" 2024-04-14 18:00:20 +00:00
Umherirrender aa41e1e292 Migrate to IDatabase::newInsertQueryBuilder/newUpdateQueryBuilder
UpdateQueryBuilder does not return a value,
removed the return value from the functions as well,
deprecated since 1.33

Change-Id: I3b934a5e6d5a53c07ec5233da00d9f53ba7bae92
2024-04-13 22:51:32 +02:00
Umherirrender d2eb46e7b9 Migrate to IDatabase::newDeleteQueryBuilder
Change-Id: I516c179df464be68352809873dbff44dc3c642f1
2024-04-12 22:45:45 +02:00
Sergio Gimeno 152db8a06f Replace deprecated usage of wfGetDB
Bug: T330641
Change-Id: I863dc67e3196ea20c4f6145c5d3bb68b445b5195
2024-02-13 20:22:33 +01:00
Bartosz Dziewoński b0da8ddee6 maintenance: Replace unnecessary uses of LBFactory::waitForReplication()
Change-Id: If464548416d5aa4c7aefdc24055f6ad1fdb26acf
2024-02-03 02:52:49 +01:00
gerritbot ac49cd6a9f Remove indirect calls to IDBAccessObject::READ_* constants
We are getting rid of the schema of implementing this interface and
calling self::READ_* constants, it's confusing, inconsistent, prone to
clashes and isn't really useful for non-ORM systems (which we are not)

Bug: T354194
Change-Id: Ic05e9fa663ddb97fcc8290f2629d3ad89b6791a5
2024-01-26 14:00:49 +00:00
Reedy 0bc5808783 Drop schema updates from MW 1.33 and 1.34
Change-Id: I9515984e294cd3910a841a07eb3239fa20040a3e
2023-12-22 01:56:23 +00:00
Umherirrender a0ca1d89c6 Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statements done manually

Change-Id: Iad87245bf8082193be72f7e482f29e9f1bad11fc
2023-12-11 16:39:00 +01:00
Fomafix 829003cabf Use $this->getServiceContainer() in maintenance and tests
Use
	$this->getServiceContainer()
instead of
	MediaWikiServices::getInstance()
in maintenance and tests.

Change-Id: I845e8f083b19da093166d6551683f2013eec7bb1
2023-11-09 20:18:48 +00:00
Reedy 8f44150300 And a few more namespaced classes...
Change-Id: I57b56d285bac4b41e81f656f3c1ddceee4620fb5
2023-08-18 22:27:18 +01:00
Reedy b003945c34 Namespace a few more classes
Change-Id: Ie233a4c8291432da3bd25d29337db52a2e97b540
2023-08-18 21:48:15 +01:00
Reedy e576cbdca0 Namespace some more classes
Change-Id: If1405788a4adb550e8a7e8c58b0c2c55cf10ea67
2023-08-18 21:24:59 +01:00
Reedy 1bc5b6daf8 Namespace classes that need aliases
Change-Id: Ieeeaf80d04b060d6dbca1959d5e66f4c69c5a7f2
2023-08-18 19:00:41 +01:00
gerritbot fd6bdf95af Update moved class WikiMap
See T321882. Moved in I60cf4b9ef02b9d5

Bug: T321681
Change-Id: Icf209fddd9367540352d935557881d7e6e5a1e4c
2023-04-25 09:53:21 +00:00
Aaron Schulz c408c0ffa8 Remove MWEchoDBFactory::waitForReplicas()
Switch the callers to the standard Maintenance::waitForReplication() method.

Avoid using LoadBalancer::waitFor(), which will made internal soon.

Bug: T326274
Change-Id: Idf0562eb33d90ff70eb3a7d5d7f54da944423d27
2023-01-05 13:14:56 -08:00
Reedy a101ce674c Fix and disable some phpcs exclusions
Change-Id: I2ecaf71c8836d627f20629d667b78ffbf420e4ee
2022-11-12 17:58:13 +00:00
Reedy 5611662f06 Namespace Model
Depends-On: Id28792658de950b99a8786f881563476def59eba
Change-Id: Ib57ea2db947285946f31fa9912b37181044df9d3
2022-11-10 14:25:42 -07:00
Fomafix 096e4a709f Use short array destructuring instead of list()
Introduced in PHP 7.1. Because it's shorter and looks nice.

Change-Id: I395e791aed6cc99b7ce1273f51c292e29360443a
2022-11-08 16:41:24 +00:00
Umherirrender 90639411fa schema: Remove IF EXISTS from DROP FOREIGN KEY
It is not supported by mysql, but supported by mariadb
Use one of the new index to detect, if the schema update was not running
yet

https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
https://dev.mysql.com/doc/refman/8.0/en/create-index.html
https://dev.mysql.com/doc/refman/8.0/en/drop-index.html

Bug: T314779
Follow-Up: I4bd29a6d0f9515e1a678c2a967799b90ef22f7b9
Change-Id: I820d79285afee854f086ca8c1590948393f496bc
2022-08-08 21:25:33 +02:00
Amir Sarabadani 6d0e181bf4 Run clean ups with removeOrphanedEvents in major batches
It's already wrapped in a small batch but if the table is large, this
would not work.

Adding a major batch to limit the rows scanned drastically makes it
faster. I have been running this in production and it works like a charm
on a table with > 300M rows

Bug: T310428
Change-Id: I7f63d2d76fea0db64e48dbcc1f95419df4492e7d
2022-08-01 16:49:13 +02:00
Matěj Suchánek 3395037c54 Replace Maintenance::error calls with ::fatalError
Calling Maintenance::error() with the exit code has
been deprecated since 1.31.

Change-Id: I21d5c0a928b6e17db3239c31377e10d906ff95ca
2022-07-08 11:02:45 +02:00
Matěj Suchánek d8168ca071 Do minor code cleanup
Change-Id: I0beba40920e5ddc0abbf49f9765a1ef9e3d3d1e5
2022-06-24 13:25:43 +02:00
Umherirrender c81dad3efc Replace deprecated WikiPage::factory/newFromID
Replaced WikiPage::newFromID with newFromTitle,
because a Title object exists and could be reused

Bug: T297688
Change-Id: Ide30f259477ed8e0b48df31f5a23cafeb38d7316
2022-06-03 23:25:37 +02:00
Umherirrender ffeee975a4 Replace deprecated User::newFromIdentity with UserFactory
Moved the factory deeper into the code right before the one usage it
still needed a full user object

Narrow done method arguments from User to UserIdentity
and use the identity directly

Change-Id: Ic118f23ef504c7fda892480df61ea68c10915f78
2022-02-11 20:35:49 +00:00
Alexander Vorwerk ce7532b212 Replace usages of deprecated wfWikiID()
The global function wfWikiID() is deprecated since 1.35 and it's usages
should be replaced with WikiMap::getCurrentWikiId().

Bug: T298059
Change-Id: Ia8cbc992eb80ee6d531cf11bdf2bc06181bce8b0
2021-12-21 02:01:11 +00:00
jdlrobson 3f0322e16c getContent can return null
Change-Id: I535294682b59fea6c465828facd668b4f60efe6c
2021-09-03 16:34:36 +00:00
Petr Pchelko a10b0b07c8 Use CentralIdLookupFactory and pass UserIdentity
Change-Id: I44144df7cf244eb867c1b261c10cc29b020f8409
2021-07-21 19:23:42 -07:00
Bartosz Dziewoński 8823aa15cd Fix Phan failure in backfillUnreadWikis
Phan says:
maintenance/backfillUnreadWikis.php:51 PhanTypeMismatchArgumentNullable Argument 1 ($userIdentity) is $lookup->localUserFromCentralId($row->euw_user, CentralIdLookup::AUDIENCE_RAW) of type ?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\User\UserIdentity but \MediaWiki\User\UserFactory::newFromUserIdentity() takes \MediaWiki\User\UserIdentity defined at ../../includes/user/UserFactory.php:166 (expected type to be non-nullable)

Follow-up to 64531785a6.

Change-Id: I261e87d16bc23e9f1b5d3385553c5899632c9127
2021-07-21 21:04:47 +02:00
Petr Pchelko 64531785a6 Prepare for CentralIdLookup returning UserIdentity
Needed-By: I67bf4f2442269b8aa1002868ede9a71a5ca43a84
Change-Id: I4c2170a25ea8b1cf5410a4648ebec66a3ab253f3
2021-07-02 09:12:20 -07:00
DannyS712 68f7a9a985 Use WikiPage::doUserEditContent() instead of ::doEditContent()
::doUserEditContent() is available since 1.36 as a replacement
for ::doEditContent(), which has been deprecated. Extension
already requires MediaWiki 1.37+, so the method is always
available.

Bug: T255507
Change-Id: Iee5de356dbccd453a3083e0a58859b4cd83a946b
2021-06-24 05:30:07 +00:00
Amir Sarabadani 6a1a86223c Replace class_exists with ExtensionRegistry
Bug: T274275
Change-Id: Id84c112ee94161b9be9c9d8565af235b5a33d7ef
2021-06-21 14:04:13 +02:00
jenkins-bot 6ed6337aed Merge "Replace RecentChange::getPerformer with RecentChange::getPerformerIdentity" 2021-05-24 15:27:56 +00:00
Vadim Kovalenko 3e65888791 Replace RecentChange::getPerformer with RecentChange::getPerformerIdentity
Refactor $actor as UserIdentity
Refactor Event::getAgent() to return UserIdentity

Bug: T276412
Change-Id: Ieb0dbacd2dcab7700b83fb090587b4957c8128c9
2021-05-24 18:01:04 +03:00
James D. Forrester 4dd2a651e1 phpcs: Auto-fix MediaWiki.Usage.StaticClosure.StaticClosure
Change-Id: I6a02902ffaa8a9b497d60b573a0b8e3dbc207ee5
2021-05-04 09:06:42 -07:00
libraryupgrader b3f948c59c build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 35.0.0 → 36.0.0
* php-parallel-lint/php-parallel-lint: 1.2.0 → 1.3.0

Change-Id: I4b2fb7f46b6c0a5c33a6ad25f085de8ae13eb084
2021-05-04 09:05:15 -07:00
vladshapik 325f542d9c Avoid using User::addGroup
Remove using of User::addGroup since this method will be hard-deprecated. Now it is soft-deprecated

Bug: T276094
Change-Id: Ib074ca906d31a02ca241296b32416ffb30e90e4f
2021-03-01 17:01:31 +02:00
jenkins-bot c5ff8a20d1 Merge "Use Maintenance::set/getBatchSize in maintenance scripts" 2020-12-31 23:20:47 +00:00
jenkins-bot 6042d6e389 Merge "Prefer UserIdentity::isRegistered over isAnon" 2020-12-23 08:25:04 +00:00
Thiemo Kreuz c9797db768 Prefer UserIdentity::isRegistered over isAnon
isRegistered is part of the slick UserIdentity interface, i.e.
it's the more "canonical" form. This change makes it a bit
easier to move away from using the huge (4000+ LOC) User class
everywhere, in favor of the UserIdentity interface, where
possible.

This patch is meant as a small step towards this goal. I tried
to replace some usages of User type hints already, but prefer
to go in small, incremental steps.

Change-Id: I039c7a18672dfb6ea9507752bce9ea754babd690
2020-12-23 07:15:30 +00:00
Umherirrender ceac7e38d7 Use Maintenance::set/getBatchSize in maintenance scripts
No need to define own class property

Change-Id: I9c71eaee6086b3d079648ee8dba41b7600c464a1
2020-12-18 00:28:32 +01:00
Umherirrender d7556b1d96 Add missing @var and improve documentation
Change-Id: I729d5ff5afd4d45022fa0a4e42d060d35543b567
2020-12-17 20:55:49 +01:00
libraryupgrader b391178348 build: Updating mediawiki/mediawiki-phan-config to 0.10.5
Change-Id: I8892cea01993f0ae51eebabaaf40685889124943
2020-12-10 18:20:15 +00:00
libraryupgrader 7c384798be build: Updating mediawiki/mediawiki-phan-config to 0.10.4
Change-Id: I3c21277a70107abf70599da2c3a4de194c6aad58
2020-11-20 13:56:13 +00:00
Reedy 257de880c1 Make use of BatchRow(Iterator|Writer)::setCaller
Bug: T261014
Change-Id: I51df93a9ed998c25e632c35b0fcc531615ddfb80
2020-09-05 03:45:55 +00:00
Umherirrender 3c53d6acb9 phpcs: Break long lines
Use the codesniffer default of length = 120

Change-Id: Ifbfd56b20432e54805d3a9bce22cda888c1fc74d
2020-06-27 12:05:03 +02:00
jenkins-bot c82226835b Merge "s/slave/replica/" 2020-06-11 01:01:49 +00:00
DannyS712 e4032e8e51 Remove use of the Revision object returned in WikiPage::doEditContent
Bug: T254952
Change-Id: I5ff763c0875fb1a7178deaa1c530a9fc1179c60c
2020-06-09 23:41:22 +00:00
Reedy aa702c1471 s/slave/replica/
Bug: T254646
Change-Id: I4de3985fd8568ce07919623efe2981bc0b6c54e5
2020-06-09 02:09:44 +01:00
Umherirrender 2fe223e45c Pass function name to database functions
Useful for logging

Change-Id: I95d466224ff984653051990b540f29e243915e3f
2020-06-07 03:35:53 +02:00