API: Reduce volume of "continue format is changing" warning
authorBrad Jorsch <bjorsch@wikimedia.org>
Wed, 1 Apr 2015 12:23:20 +0000 (08:23 -0400)
committerBrad Jorsch <bjorsch@wikimedia.org>
Wed, 1 Apr 2015 12:23:20 +0000 (08:23 -0400)
It's excessively difficult to determine if the logs of people hitting
this warning are really going to be affected by the change or if they're
making queries where it won't actually matter.

Since 1.26 is coming soon, and with it the decision as to whether to
pull the switch on I984e6358, let's retarget the warnings to those cases
where it's possible it would actually break someone's code.

Change-Id: I91f170fd7d4c791ca8f5d3592c888700f4d5aa97

includes/api/ApiQuery.php

index f4b64a3..ac89419 100644 (file)
@@ -249,16 +249,6 @@ class ApiQuery extends ApiBase {
        public function execute() {
                $this->mParams = $this->extractRequestParams();
 
-               if ( $this->mParams['continue'] === null && !$this->mParams['rawcontinue'] ) {
-                       $this->logFeatureUsage( 'action=query&!rawcontinue&!continue' );
-                       $this->setWarning(
-                               'Formatting of continuation data will be changing soon. ' .
-                               'To continue using the current formatting, use the \'rawcontinue\' parameter. ' .
-                               'To begin using the new format, pass an empty string for \'continue\' ' .
-                               'in the initial query.'
-                       );
-               }
-
                // Instantiate requested modules
                $allModules = array();
                $this->instantiateModules( $allModules, 'prop' );
@@ -304,6 +294,18 @@ class ApiQuery extends ApiBase {
                $this->getResult()->endContinuation(
                        $this->mParams['continue'] === null ? 'raw' : 'standard'
                );
+
+               if ( $this->mParams['continue'] === null && !$this->mParams['rawcontinue'] &&
+                       array_key_exists( 'query-continue', $this->getResult()->getData() )
+               ) {
+                       $this->logFeatureUsage( 'action=query&!rawcontinue&!continue' );
+                       $this->setWarning(
+                               'Formatting of continuation data will be changing soon. ' .
+                               'To continue using the current formatting, use the \'rawcontinue\' parameter. ' .
+                               'To begin using the new format, pass an empty string for \'continue\' ' .
+                               'in the initial query.'
+                       );
+               }
        }
 
        /**