jenkins-bot [Wed, 18 Oct 2017 20:04:58 +0000 (20:04 +0000)]
Merge "RCFilters: rephrase newcomers description"
jenkins-bot [Wed, 18 Oct 2017 20:04:55 +0000 (20:04 +0000)]
Merge "RCFilters: define consistent interface in ChangesListFilterGroup"
Translation updater bot [Wed, 18 Oct 2017 19:55:10 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ic1284de8147baa9a8436621bc2e3d1de4037a920
Stephane Bisson [Wed, 18 Oct 2017 10:28:43 +0000 (06:28 -0400)]
RCFilters: define consistent interface in ChangesListFilterGroup
Get rid of isPerGroupRequestParameter and define a consistent
interface that all filter groups can implement.
Change-Id: Ib904bcdc697c65722a0041ac611d1e00c577389f
jenkins-bot [Wed, 18 Oct 2017 19:32:35 +0000 (19:32 +0000)]
Merge "jQuery: Remove jQuery 1 legacy option"
jenkins-bot [Wed, 18 Oct 2017 18:06:45 +0000 (18:06 +0000)]
Merge "Revision tests, make test for constructFromRowArray a unit test"
jenkins-bot [Wed, 18 Oct 2017 18:06:42 +0000 (18:06 +0000)]
Merge "RevisionIntegrationTest more newFromArchiveRow tests"
jenkins-bot [Wed, 18 Oct 2017 18:06:38 +0000 (18:06 +0000)]
Merge "RevisionUnitTest::testConstructFromArray @covers tags"
jenkins-bot [Wed, 18 Oct 2017 17:14:02 +0000 (17:14 +0000)]
Merge "Update the translation for MessagesKo.php"
Stephane Bisson [Wed, 18 Oct 2017 15:15:57 +0000 (11:15 -0400)]
RCFilters: fix stylelint error
Not sure how this got merged but it's reported as an error
locally.
Change-Id: I7cd1a9442ea07cf6e4595ff4a3611a0b682a4e6e
jenkins-bot [Wed, 18 Oct 2017 14:24:26 +0000 (14:24 +0000)]
Merge "Fix missingcommenttext message to be more useful in different page layouts"
Deskana [Wed, 18 Oct 2017 14:11:58 +0000 (15:11 +0100)]
Fix missingcommenttext message to be more useful in different page layouts
This missingcommenttext message makes reference to a specific page layout,
which it shouldn't given the UI can be skinned in a variety of different
ways. This patch removes the specific reference to "below", which wasn't
particularly helpful anyway.
Bug: T158262
Change-Id: Ieb81db162bee6010e85b17355059e18ad447751e
Stephane Bisson [Wed, 18 Oct 2017 12:27:29 +0000 (08:27 -0400)]
RCFilters: rephrase newcomers description
Bug: T178334
Change-Id: I76a805acae4b7c6efa3707fa6c203e72c2e29ea2
petarpetkovic [Tue, 17 Oct 2017 13:22:46 +0000 (15:22 +0200)]
Replace deprecated edit review params
- Replace old options 'hideanons' or 'hideliu' with structured UI equivalent.
- Update tests to take this new behavior into account.
Bug: T176172
Change-Id: I6ad050f7864bf51db05c3db957ac3533358cd3ac
jenkins-bot [Wed, 18 Oct 2017 08:30:02 +0000 (08:30 +0000)]
Merge "Database: Support parenthesized JOINs"
jenkins-bot [Wed, 18 Oct 2017 06:34:46 +0000 (06:34 +0000)]
Merge "Replace more uses of "SELECT *""
Max Semenik [Wed, 18 Oct 2017 06:29:15 +0000 (23:29 -0700)]
Hard deprecate Title::escapeFragmentForURL()
No usages in core and only one outside of core, being
fixed in If1191817ee2db84d8fd3b91aa13e6257faf10a41.
Change-Id: I91ca289e989a4dc32de083b9cc002c9c9d75a3e1
Volker E [Wed, 18 Oct 2017 05:10:15 +0000 (22:10 -0700)]
jquery.badge: Align with Echo notifications style and WikimediaUI palette
Aligning badge style to Echo notifications, ensuring WCAG level AA conformance
and also to WikimediaUI color palette.
Bug: T152025
Change-Id: I279a607f3c1b13ea6e21e59df0c6d21e525f587e
Max Semenik [Sat, 7 Oct 2017 02:26:52 +0000 (19:26 -0700)]
Introduce Shell\CommandFactory
Bug: T177038
Change-Id: Id875e68ea1fa72b44a463f977ab52270fe1e7088
Max Semenik [Wed, 18 Oct 2017 01:54:17 +0000 (18:54 -0700)]
Don't trigger PHP errors for unused Shell\Command
Change-Id: Id29da4f21a44ccb18d8a2ae11348d69ca3233aa5
Kunal Mehta [Wed, 18 Oct 2017 01:22:42 +0000 (18:22 -0700)]
Command: Avoid using wfDebug()
Change-Id: I92ea55d7a5b6a71a6f6b944f377215c08ea3b096
Volker E [Wed, 18 Oct 2017 00:13:34 +0000 (17:13 -0700)]
Update OOjs UI to v0.24.0
Release notes:
https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.24.0
Depends-on: Iad57bf4f6306086cb775629f2d9f2fcf2dbcf5fd
Change-Id: Idf2bed0a1719f8a30bcc66211cbeedd2bb31ec4b
jenkins-bot [Tue, 17 Oct 2017 22:37:31 +0000 (22:37 +0000)]
Merge "Add a few schemas to SQLite tests"
addshore [Tue, 17 Oct 2017 12:09:08 +0000 (13:09 +0100)]
Revision tests, make test for constructFromRowArray a unit test
Change-Id: I52aa62a442011b612966bb294015730a05702cd3
addshore [Tue, 17 Oct 2017 11:35:28 +0000 (12:35 +0100)]
RevisionIntegrationTest more newFromArchiveRow tests
There were a couple of code paths that were not tested before
for different combinations of selected fields, these are now
covered.
Change-Id: Ifd438e5c97a5f32a1744c58bd4cf0303ddb32cfc
addshore [Tue, 17 Oct 2017 11:10:19 +0000 (12:10 +0100)]
RevisionUnitTest::testConstructFromArray @covers tags
Change-Id: I3d4b54531ecdb2c29f4669685d9824b6a5e36e4e
jenkins-bot [Tue, 17 Oct 2017 22:06:25 +0000 (22:06 +0000)]
Merge "Fix login button label to accept RawMessage."
James D. Forrester [Thu, 5 Oct 2017 18:25:51 +0000 (11:25 -0700)]
jQuery: Remove jQuery 1 legacy option
Deprecated since MediaWiki 1.29, no longer used in Wikimedia production.
Bug: T124742
Change-Id: Id2a94e9fa7dd8b6951d735c1d31d20498fe11a3a
Translation updater bot [Tue, 17 Oct 2017 20:08:59 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I46a1a40150d9eda7a34d2a02e17f0aef1bf6d9a7
jenkins-bot [Tue, 17 Oct 2017 19:22:57 +0000 (19:22 +0000)]
Merge "RCFilters: Move parameter operations to ViewModel"
jenkins-bot [Tue, 17 Oct 2017 19:03:06 +0000 (19:03 +0000)]
Merge "RCFilters: Don't let new params filter out old page"
Cicalese [Tue, 17 Oct 2017 17:58:28 +0000 (17:58 +0000)]
Fix login button label to accept RawMessage.
The label is already a Message at this point. For Messages that
are not RawMessages, the call to wfMessage() does not do any harm.
However, for RawMessages, it causes the label to appear in <>.
Removing the call to wfMessage() does not harm regular Messages
and fixes the problem for RawMessages.
Change-Id: I943628e2a1fbf6fff579dd52c1058ca2ef125d34
Yongmin Hong [Tue, 11 Jul 2017 01:57:08 +0000 (10:57 +0900)]
Update the translation for MessagesKo.php
* Reversed the order for unlockdb, createprotect
* Added a new translation text for __NEWSECTIONLINK__ and
__NONEWSECTIONLINK__, which translation I added is used by kowiki
and more accurate to the original meaning.
* Fixed link for aladdin.co.kr. which has changed their domain since
then and currently using aladin.co.kr. Sticking with http since they
have no plan to move to HTTPS by default.
Change-Id: Ia30b256b23aa70f46ff37439b6b74d4bb25cdf66
jenkins-bot [Tue, 17 Oct 2017 14:09:23 +0000 (14:09 +0000)]
Merge "Remove mention of IE9 support"
jenkins-bot [Tue, 17 Oct 2017 14:01:11 +0000 (14:01 +0000)]
Merge "Add primary keys to site_stats"
jhsoby [Tue, 17 Oct 2017 12:51:38 +0000 (14:51 +0200)]
Updating native language name for Northern Sami
Bug: T156589
Change-Id: Iec69f8654d6eabb7b644726fd63f00edb01dc1e9
Eddie Greiner-Petter [Sat, 15 Jul 2017 20:57:06 +0000 (22:57 +0200)]
Add primary keys to site_stats
As discussed in I7d42aae434852a56b6f8dd559d8a5f3bce416021 primary keys
are needed to perform various schema changes on the site_stats table.
This patch aims to introduce primary keys for all supported dbms.
The respective *.sql patch files were tested locally against Postgres
and SQL Server 2016. Please note that neither the patch file for Oracle
DB nor the mediawiki upgrade through update.php was tested.
Bug: T56888
Change-Id: Id10e221f0dc120bc09afc22596fd1dbecbf6a61d
jenkins-bot [Tue, 17 Oct 2017 11:33:18 +0000 (11:33 +0000)]
Merge "Add option to hide missing pages while searching"
Ed Sanders [Tue, 17 Oct 2017 11:27:22 +0000 (12:27 +0100)]
Remove mention of IE9 support
Change-Id: I68a31292efa501b83ca9d5ebfbaa5e2c46120d34
jenkins-bot [Tue, 17 Oct 2017 10:55:52 +0000 (10:55 +0000)]
Merge "Align diff context colors to WikimediaUI color palette"
jenkins-bot [Tue, 17 Oct 2017 03:51:42 +0000 (03:51 +0000)]
Merge "Convert GitInfo to the new shell framework"
jenkins-bot [Tue, 17 Oct 2017 03:51:38 +0000 (03:51 +0000)]
Merge "Shell\Command: Better walltime fallback"
Max Semenik [Tue, 17 Oct 2017 03:29:58 +0000 (20:29 -0700)]
Convert GitInfo to the new shell framework
Change-Id: I2fdebe8748708412c59a9de4028cc2e280c8d0c8
Max Semenik [Mon, 16 Oct 2017 22:30:49 +0000 (15:30 -0700)]
Shell\Command: Better walltime fallback
Previously, it assumed that the only way times could be overridden is to
reduce the limits - which isn't the case for video transcoding.
Bug: T178314
Change-Id: I492a44f280a36ee666e9963788caac2bbc6bc6f3
Timo Tijhof [Tue, 17 Oct 2017 01:48:54 +0000 (02:48 +0100)]
resourceloader: Introduce metric for backend response timing
We currently have several counts and timings of individual pieces
of ResourceLoader backend logic (minification, module building, ..)
but no measure of the response overall.
This responseTime metric will effectively provide both a timing
measure as well as a backend request count.
Bug: T178350
Change-Id: I625a5eb90f5a4ea90aebf9292dfda0f1c5ae4f2e
addshore [Sat, 14 Oct 2017 16:27:42 +0000 (17:27 +0100)]
RevisionUnitTest for fetchFromConds
Change-Id: Ie151123d703933474a52c73beacb0ac70161c241
addshore [Sat, 14 Oct 2017 13:07:22 +0000 (14:07 +0100)]
RevisionUnitTest for various getters and setters
getId
setId
setUserIdAndName
getTextId
getParentId
Change-Id: I1890122c0eae16947a4782bc14baa8c3b9ce1391
addshore [Sat, 14 Oct 2017 12:35:05 +0000 (13:35 +0100)]
RevisionUnittest for select*Fields methods
Change-Id: I8ec1d35bb5e4706e5cfe72684bcac73c9f3d63cc
addshore [Sat, 14 Oct 2017 10:43:58 +0000 (11:43 +0100)]
RevisionUnitTest for userJoinCond and pageJoinCond
Change-Id: I4deb6192e56c6b6eb9c60d0ae3cd3aa472a84af6
addshore [Sat, 14 Oct 2017 10:40:56 +0000 (11:40 +0100)]
RevisionIntegrationTest for loadFromTimestamp
Change-Id: I65f4f7b44c476baaaaa9e185c7d506573b22b080
addshore [Sat, 14 Oct 2017 10:38:38 +0000 (11:38 +0100)]
RevisionIntegrationTest for loadFromTitle
Change-Id: I963dcd20cd01e99de3b1a22de43f9e2892abe9cc
addshore [Sat, 14 Oct 2017 10:35:11 +0000 (11:35 +0100)]
RevisionIntegrationTest for loadFromId & loadFromPageId
Change-Id: I31431267d761b5d97d7e298c3451341358d54bba
addshore [Sat, 14 Oct 2017 10:25:28 +0000 (11:25 +0100)]
RevisionIntegrationTest for newFromArchiveRow with ContentHandlerUseDB
Change-Id: I6edea4f1de69f5df33f6389f9d7a5be2717c0bb2
addshore [Sat, 14 Oct 2017 10:17:39 +0000 (11:17 +0100)]
RevisionIntegrationTest for newFromPageId
Change-Id: I09cf5fcbacab662e30acda1687ebcfe6b29f1900
jenkins-bot [Tue, 17 Oct 2017 00:50:43 +0000 (00:50 +0000)]
Merge "Cleanup page creation in RevisionIntegrationTest"
jenkins-bot [Tue, 17 Oct 2017 00:48:50 +0000 (00:48 +0000)]
Merge "Split Revision tests into Unit & Integration classes"
Moriel Schottlender [Tue, 3 Oct 2017 23:17:30 +0000 (16:17 -0700)]
RCFilters: Move parameter operations to ViewModel
Refactor the operation of the model to work with parameters. Since we
work with parameters, there's no need to display and store the entire
state but rather only the active parameters -- which is the same operation
that the URL is displaying.
* Make sure that all controllers (Controller and UriProcessor) adhere to
FiltersModel operation of minimization.
* Allow the FiltersViewModel to accept a parameter state to update itself.
* Simplify the operation of getting defaults and checking whether defaults
are empty.
* Make sure that the storage construct (split to params/highlights) does
not leak out of the saved queries model, the only place where it is
relevant.
* Add unit tests and correct existing unit tests.
Change-Id: Icec513c94630314e7873f9ffe27779cd39150713
Max Semenik [Sat, 9 Sep 2017 01:28:05 +0000 (18:28 -0700)]
Hard deprecate wfRunHooks()
Deprecated since 1.25, very few callers. Having to grep for 2
ways of calling a hook is harmful not only because it wastes developers'
time, but also because it makes it possible to forget to search for the
old way, resulting in mistakes. Better get rid of this.
Change-Id: Iab28bd5758475b780c2016847881757d64973862
jenkins-bot [Mon, 16 Oct 2017 22:06:59 +0000 (22:06 +0000)]
Merge "Fix tabindex applied twice on RC top section"
jenkins-bot [Mon, 16 Oct 2017 20:25:50 +0000 (20:25 +0000)]
Merge "Fix changes list misaligned arrow"
Stephane Bisson [Mon, 16 Oct 2017 11:09:55 +0000 (07:09 -0400)]
RCFilters: Don't let new params filter out old page
Bug: T177884
Change-Id: Id0ace30b837cf6c5fa7159aa40d80392187c4e16
petarpetkovic [Mon, 16 Oct 2017 15:09:00 +0000 (17:09 +0200)]
Fix changes list misaligned arrow
Bug: T176368
Change-Id: Ie2e938a1b869a58368bc1a5eeec054c90a90724f
addshore [Fri, 13 Oct 2017 15:39:24 +0000 (16:39 +0100)]
Cleanup page creation in RevisionIntegrationTest
Use the page that is already created by MediaWikiTestCase
to save time in tests.
There is no need to create a second page or a page per test
and have the overhead of the extra db calls.
Change-Id: I6c88edac09b9912a6e8b0673f2229a8d0819bf81
Fomafix [Sat, 7 Oct 2017 16:35:14 +0000 (18:35 +0200)]
Remove mw.page
mw.page was deprecated in
b3fb2770 in MediaWiki 1.30.
Change-Id: Ia2f040549bb83445a8efcd5841bb64cfc5eee50e
jenkins-bot [Mon, 16 Oct 2017 14:05:20 +0000 (14:05 +0000)]
Merge "Add lowercase variants to the autoloader for legacy history blob classes"
Ori Livneh [Sat, 14 Oct 2017 20:57:38 +0000 (16:57 -0400)]
Add lowercase variants to the autoloader for legacy history blob classes
Blobs in the text table created by MediaWiki <1.5 running on PHP 4 had class
names coerced to lowercase. In order to succcessfully resolve these class
names, the autoloader creates a copy of the autoload class array with
lowercased keys, which is pretty inefficient. So instead, make sure the
auto-generated autoload map contains lowercase variants for these specific
classes.
Bug: T166759
Change-Id: I6d751ef516e936e04c056d70a1ecd17960a39ceb
petarpetkovic [Mon, 16 Oct 2017 13:42:03 +0000 (15:42 +0200)]
Fix tabindex applied twice on RC top section
- Remove tabindex = 0 applied to ButtonElement and leave
only tabindex on ButtonElement-button, so keyboard focus
does not catch one time too much.
Bug: T175893
Change-Id: I5bf759dd2cdcb1a719f1ca7844253025813f8e9a
jenkins-bot [Mon, 16 Oct 2017 13:45:12 +0000 (13:45 +0000)]
Merge "RCFilters: Use mixins and variables in LESS files"
jenkins-bot [Mon, 16 Oct 2017 13:27:31 +0000 (13:27 +0000)]
Merge "Remove strong tag from "Other review tools""
petarpetkovic [Mon, 16 Oct 2017 11:30:20 +0000 (13:30 +0200)]
Remove strong tag from "Other review tools"
Bug: T175031
Change-Id: I0e9b75496d87c7312d0bb597650ed914a9dccf90
petarpetkovic [Mon, 16 Oct 2017 11:09:05 +0000 (13:09 +0200)]
Improve wording in Saved Filter Menu
- Change user message in saved filter menu from "No links saved yet" to
more clear "No filters saved yet".
Bug: T177540
Change-Id: I39846159183f51fa40efb62f9c8f2fbc79a9c282
petarpetkovic [Tue, 10 Oct 2017 13:57:38 +0000 (15:57 +0200)]
RCFilters: Use mixins and variables in LESS files
Bug: T156164
Change-Id: Ie979926fe2fb0f840e5bd5dacedf254312a0aa17
petarpetkovic [Mon, 9 Oct 2017 18:58:42 +0000 (20:58 +0200)]
Add option to hide missing pages while searching
Bug: T177469
Change-Id: I9e7dd451c61a6a88679628acbbf28d45c0a1e0e8
jenkins-bot [Mon, 16 Oct 2017 08:42:44 +0000 (08:42 +0000)]
Merge "Parser: Disable commafy for magic variables for month and day"
Santhosh Thottingal [Fri, 13 Oct 2017 11:43:22 +0000 (17:13 +0530)]
Parser: Disable commafy for magic variables for month and day
In Parser#getVariableValue for the following magic variables
Language#formatNum was called without commafy parameter:
currentmonth, currentmonth1, currentday, currentday2, localmonth,
localmonth1, localday, localday2
The default value for formatNum nocommafy is false, meaning formatNum
will do commafication. For the above context, commafy is not needed
since the passed values are often month values like 02, 03 etc.
Commafy is noop on this values.
Explicitly pass false value for formatNum's nocommafy argument.
Language#formatNum method documentation for nocommafy also recommends
setting it true in case of dates.
Change-Id: I3233d5458af8cef583e5d1d599d9408542ba08c9
jenkins-bot [Mon, 16 Oct 2017 06:18:22 +0000 (06:18 +0000)]
Merge "Fix escaping of i18n message shared-repo-from"
Brian Wolff [Mon, 16 Oct 2017 06:01:56 +0000 (06:01 +0000)]
Fix escaping of i18n message shared-repo-from
[Discovered using an experimental phan plugin]
Change-Id: Ia580dbd0646e2087c676f9e6989b5330d2149845
Translation updater bot [Sun, 15 Oct 2017 19:59:41 +0000 (21:59 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I8954aa5cdc07ec35f19b319de34e1a5d47a3589d
Reedy [Sun, 15 Oct 2017 17:36:53 +0000 (18:36 +0100)]
Fix covers __constructor -> __construct
Change-Id: I264154c7707def3986560901f3501756853fff11
Fomafix [Sun, 15 Oct 2017 08:52:43 +0000 (10:52 +0200)]
Replace HTTP by HTTPS in docs
Change-Id: I311c40f8aa90f308a0817f4c3ce1b9449b1f5ca7
Ori Livneh [Sun, 15 Oct 2017 01:41:58 +0000 (21:41 -0400)]
Fix letter-case of several namespace and class names
'Mediawiki\Widget\SelectWithInputWidget' is the only one that shows up
in the logs, but I tidied up a few others I came across.
Change-Id: I700dec858007a8013e6d7b9e37ddf518f223d8b7
Translation updater bot [Sat, 14 Oct 2017 19:54:47 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I1d8fca497113f640cf8e90ab6ca2a5e2d4ebeb55
jenkins-bot [Sat, 14 Oct 2017 05:14:54 +0000 (05:14 +0000)]
Merge "RCFilters: Fix RC jumpiness due to expanded/collapsed community links"
Timo Tijhof [Thu, 12 Oct 2017 00:01:58 +0000 (01:01 +0100)]
SpecialRunJobs: Use MediaWiki's built-in async/post-send mode
Disabling OutputPage is fine, but disabling MediaWiki's own
output handling from MediaWiki.php as well (with ignore_user_abort
and ob_flush) made this code incompatible with becoming an API module.
Make use of DeferredUpdates instead, MediaWiki's built-in post-send
mechanism.
Bug: T175146
Change-Id: Ia131341d447fd6501a070da89cd3a2af470e0f7d
Moriel Schottlender [Fri, 13 Oct 2017 23:20:33 +0000 (16:20 -0700)]
RCFilters: Fix RC jumpiness due to expanded/collapsed community links
Bug: T177117
Change-Id: Ie0761613ff8c731226e26a78afa500aef9619d01
jenkins-bot [Fri, 13 Oct 2017 21:54:02 +0000 (21:54 +0000)]
Merge "deferred: Introduce TransactionRoundDefiningUpdate"
Timo Tijhof [Thu, 12 Oct 2017 20:19:56 +0000 (21:19 +0100)]
deferred: Introduce TransactionRoundDefiningUpdate
This allows scheduling of updates that need to start their own
transaction round. Specifically for cases where the ability to
commit early is not enough (which is already possible via LBFactory
getEmptyTransactionTicket and commitAndWaitForReplication).
Change-Id: I0910587b61c8ddf825f91e92c2f93582cc7ebd80
Derk-Jan Hartman [Fri, 13 Oct 2017 20:34:00 +0000 (22:34 +0200)]
Fix margin of #jump-to-nav
The top margin is a correction for the bottom margin.
Follow-up to: Id58972b
Bug: T176444
Change-Id: Icfedfa1ede49de96210b8662a1886ab52c78b006
jenkins-bot [Fri, 13 Oct 2017 20:10:43 +0000 (20:10 +0000)]
Merge "Simplify OutputPage constructor"
Translation updater bot [Fri, 13 Oct 2017 19:56:25 +0000 (21:56 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ie065cfcf32cbd7f8e341766b545ac0f893cc508b
Max Semenik [Sat, 9 Sep 2017 02:12:37 +0000 (19:12 -0700)]
Simplify OutputPage constructor
Make it impossible to instantiate this class without passing it
context. This appears to be the oldest wfDeprecated() in MediaWiki.
All callers have been updated.
Change-Id: I00b9e283ad22c6274b358063b9f9e60fe93d5ee7
jenkins-bot [Fri, 13 Oct 2017 19:42:22 +0000 (19:42 +0000)]
Merge "Remove old workaround for HHVM"
Max Semenik [Wed, 21 May 2014 18:23:10 +0000 (11:23 -0700)]
Add a few schemas to SQLite tests
Change-Id: I09f2f98100b7bd74abc468b612dc6e90d95975c7
Brad Jorsch [Fri, 13 Oct 2017 17:51:43 +0000 (13:51 -0400)]
Database: Support parenthesized JOINs
SQL supports parentheses for grouping in the FROM clause.[1] This is
useful when you want to left-join against a join of other tables.
For example, say you have tables 'a', 'b', and 'c'. You want all rows
from 'a', along with rows from 'b' + 'c' only where both of those
exist.
SELECT * FROM a LEFT JOIN b ON (a_b = b_id) JOIN c ON (b_c = c_id)
doesn't work, it'll only give you the rows where 'c' exists.
SELECT * FROM a LEFT JOIN b ON (a_b = b_id) LEFT JOIN c ON (b_c = c_id)
doesn't work either, it'll give you rows from 'b' without a
corresponding row in 'c'. What you need to do is
SELECT * FROM a LEFT JOIN (b JOIN c ON (b_c = c_id)) ON (a_b = b_id)
This patch implements this by extending the syntax for the $table
parameter to IDatabase::select(). When passing an array of tables, if a
value in the array is itself an array that is interpreted as a request
for a parenthesized join. To produce the example above, you'd do
something like
$db->select(
[ 'a', 'nest' => [ 'b', 'c' ] ],
'*',
[],
__METHOD__,
[],
[
'c' => [ 'JOIN', 'b_c = c_id ],
'nest' => [ 'LEFT JOIN', 'a_b = b_id' ],
]
);
[1]: In standards as far back as SQL-1992 (I couldn't find an earlier
version), and it seems to be supported by at least MySQL 5.6, MariaDB
10.1.28, PostgreSQL 9.3, PostgreSQL 10.0, Oracle 11g R2, SQLite 3.20.1,
and MSSQL 2014 (from local testing and sqlfiddle.com).
Change-Id: I1e0a77381e06d885650a94f53847fb82f01c2694
Brad Jorsch [Thu, 12 Oct 2017 18:34:15 +0000 (14:34 -0400)]
Replace more uses of "SELECT *"
With the introduction of CommentStore, selects from various table
require certain joins or column aliases for proper operation. The
upcoming actor table change, and the suggested title table change, will
add more such requirements.
Change-Id: Ic8213bff74b8350b15cd271d0ef252e63e7e79bd
jenkins-bot [Fri, 13 Oct 2017 19:00:12 +0000 (19:00 +0000)]
Merge "Split sql fulltext index creation into two statements"
Erik Bernhardson [Tue, 10 Oct 2017 16:51:39 +0000 (09:51 -0700)]
Split sql fulltext index creation into two statements
MySQL prior to 5.6.8 (https://bugs.mysql.com/bug.php?id=67004) did
not support adding multiple fulltext indices at the same time on InnoDB.
Split them into two statements to work around this limitation.
Bug: T177477
Change-Id: Ib366fa04724abac6d740bea017274ad62730b9e5
jenkins-bot [Fri, 13 Oct 2017 18:15:34 +0000 (18:15 +0000)]
Merge "Hard deprecate wfBaseConvert()"
jenkins-bot [Fri, 13 Oct 2017 15:11:45 +0000 (15:11 +0000)]
Merge "RCFilters: Don't reload when removing highlighted item"
jenkins-bot [Fri, 13 Oct 2017 15:11:31 +0000 (15:11 +0000)]
Merge "Add missing retrun in getSummaryInputOOUI()"