MySQL's optimizer chokes if we have too many values in "$bl_title IN
(...)" and chooses the wrong index, so specify the correct index to use
for the query.
Bug: T139056
Change-Id: I989dfbe898b75d649c22e198a6fbdd3a2de196e5
The code for the rdnamespace parameter to prop=redirects was trying to
use a nonexistent rd_from_namespace field when miser mode was not
enabled.
Bug: T113453
Change-Id: I7ef77a01c25fec34623b888f439261423cebdaef
Use message-per-value for message
apihelp-query+linkshere-param-prop/
apihelp-query+transcludedin-param-prop/
apihelp-query+redirects-param-prop/
apihelp-query+fileusage-param-prop to allow smaller strings for
translation.
Each prop in a message also will show up a new parameter on the help
page without the adjust of the translation (but than in english instead
of fully skip it).
Change-Id: Ie8d8d9c2dd1132767e0f4b2ea907e116e2a18790
Mysqli is returning SELECTed ints as strings rather than as ints, I'm
guessing to avoid problems with 64-bit int types on 32-bit systems. PHP
mostly doesn't care, but it causes API JSON output to have strings
instead of ints all over the place.
This also fixes ForeignAPIFile::getUser( 'id' ) returning the user
*name*.
Bug: T98276
Change-Id: Ie6591d72b3ac40172f8176a8ca8b6fad8e9275a5
Nothing in this patch should result in changed output for format=json or
format=php except as noted in RELEASE-NOTES-1.25, and changed output for
format=xml should be similar or cosmetic. However, other code accessing
the result data directly may need to be updated.
Bug: T87053
Bug: T12887
Change-Id: I3500708965cb8869b5aed1543381aad208dadd13
This also adds some new ApiBase::PARAM_* constants to generate more
helpful help, and a method to override the default description message
for the use of ApiDisabled and ApiQueryDisabled.
Bug: 71638
Change-Id: Ic0c3d232e0498d58a043037e2e0c6f0b1c3edad3
ApiPageSet::getAllTitlesByNamespace is fine when that's what you want.
But in all existing uses in core, it's not what's actually wanted.
* ApiQueryBacklinksprop can generate wrong ORDER BY because it considers
redirect and invalid titles that it doesn't acutally query.
* ApiQueryCategoryInfo raises a fatal error with category redirects.
* ApiQueryDuplicateFiles and ApiQueryImageInfo will add information for
redirects, leaving them missing the standard data and missing from
indexpageids.
What all these need is really something along the lines of
"ApiPageSet::getGoodAndMissingTitlesByNamespace". So let's add that,
plus a few similar methods for good measure.
Bug: 71337
Change-Id: I3a205057edcbc303393718e1c8bfb1f1b1f95323
With the success of prop=redirects, let's create prop=linkshere,
prop=transcludedin, and prop=fileusage.
Let's also add a miser-mode-sensitive 'namespace' parameter to
prop=redirects, since the other three have a 'namespace' parameter using
the new *_from_namespace fields.
Change-Id: Ib650db9988a553771582eed0c183d0cae4b71252