Commit graph

15 commits

Author SHA1 Message Date
Brad Jorsch
25f02d91dc Fix RevisionDeleteUser rev_actor query for MySQL
MySQL uses an extremely bad plan for the update with subquery here.
For the time being let's split out the subquery.

This'll break if the user has too many revision rows, but on the other
hand all the existing queries here will probably break in the same way
so let's leave that for later.

Bug: T210628
Change-Id: Ia3eb41b43b96c506349279e19743c41530969636
2018-11-29 11:24:57 -05:00
Brad Jorsch
993baa3493 ActorMigration: Remove possibility of read-both
When this was originally written, the plan was to read both the old and
new fields during the transition period, while stopping writes to them
midway through. It turns out that the WHERE conditions to do read-both
correctly are generally not handled well by the database and working
around that would require a lot of complicated code (see what's being
removed from ApiQueryUserContribs here, for example).

We can simplify things greatly by instead having it write both fields
during the transition period, reading from the old for the first part
and the new for the second part, as is being done for MCR.

Bug: T204669
Change-Id: I4764c1c7883dc1003cb12729455c8107319f70b1
Depends-On: I845f6ae462f2539ebd35cbb5f2ca8b5714e2c1fb
Depends-On: I88b31b977543fdbdf69f8c1158e77e448df94e11
2018-10-11 12:12:00 +11:00
Brad Jorsch
27c61fb1e9 Add actor table and code to start using it
Storing the user name or IP in every row in large tables like revision
and logging takes up space and makes operations on these tables slower.
This patch begins the process of moving those into one "actor" table
which other tables can reference with a single integer field.

A subsequent patch will remove the old columns.

Bug: T167246
Depends-On: I9293fd6e0f958d87e52965de925046f1bb8f8a50
Change-Id: I8d825eb02c69cc66d90bd41325133fd3f99f0226
2018-02-23 10:06:20 -08:00
Aaron Schulz
488a647831 Move IDatabase/IMaintainableDatabase to Rdbms namespace
Change-Id: If7e8a8ff574661fd827de8bcec11d2c39a687300
2017-03-28 15:32:38 -07:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Aaron Schulz
a4a44f7731 Changed some DatabaseBase type hints to IDatabase
Change-Id: I1158c71f110b140473f56d5cbe352da1f4513ad9
2014-12-09 01:05:22 -08:00
umherirrender
e8a1e4bdc0 Use Database methods in RevisionDeleteUser::setUsernameBitfields
The bit handling in RevisionDeleteUser::setUsernameBitfields was not
using Database::bitAnd, bitOr or bitNot.

Also changed one condition to use Database::addQuotes

Change-Id: I898ab5afcb628bb7ebe81bae1522153434c7fe98
2014-06-29 12:11:10 +00:00
umherirrender
b45420410f Fixed some @params documentation (includes/*)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.

Change-Id: Iced714bca004756b461b66067a49a925a7e3b877
2014-04-19 22:22:20 +02:00
umherirrender
23fab68274 Fix spacing after @param and friends in comments
Searched for:
\@(param|return|throws|since|deprecated|access|todo|var)[ \t]{2,}

Change-Id: Icce22ba9fe0635455691ca58d9872d618151f346
2014-04-05 20:02:29 +00:00
umherirrender
6c38a5eb72 Fixed spacing in logging/parser/profiler/rl/revdel/search folder
Added spaces before if, foreach
Added some braces for one line statements

Change-Id: I11bbcfa351e945b7bde10c2105d61a3cf5622205
2013-04-20 17:38:24 +02:00
Alexandre Emsenhuber
e7ab34cf1d Added missing GPLv2 headers in some places.
Also made file/class documentation more consistent.

Change-Id: If65d7313e1e05163ce6cc46d17daa310cb41888c
2012-04-28 20:41:55 +02:00
Aaron Schulz
2754304fef Added user Id sanity check to setUsernameBitfields() for bug 34755.
Change-Id: I44288d199d86045151f8184f7abaa3df886d9d99
2012-03-29 16:32:00 -07:00
Sam Reed
f3cc77aaee Fixing some of the "@return true" or "@return false", need to be "@return bool" and then the metadata can say true if foo, false if bar
Other documentation improvements
2012-02-09 17:41:50 +00:00
Aaron Schulz
ac9ac287ee Do the filearchive updates too; index is there now 2011-03-12 11:51:33 +00:00
Happy-melon
b14cde3ca7 First little bit of cleaning out the Augean stables of SpecialBlockip.php: spin out the suppressUserName/unsuppressUserName functions into their own file, to keep them with the rest of the RevDel stuff. 2011-03-11 23:33:36 +00:00