b***@wikimedia.org
2013-06-05 18:47:33 UTC
https://bugzilla.wikimedia.org/show_bug.cgi?id=49203
Web browser: ---
Bug ID: 49203
Summary: ask query offset has a hardcoded limit
Product: MediaWiki extensions
Version: master
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Unprioritized
Component: Semantic MediaWiki
Assignee: wikibugs-***@lists.wikimedia.org
Reporter: ***@gmail.com
CC: ***@gmail.com, ***@yahoo.com,
***@semantic-mediawiki.org, ***@gmail.com
Classification: Unclassified
Mobile Platform: ---
Created attachment 12471
--> https://bugzilla.wikimedia.org/attachment.cgi?id=12471&action=edit
SMWQueryProcessor without $params['offset']['upperbound'].
Running an ask query with an offset greater than 5000 returns the results from
the query with offset=0 instead. Because of this, the only way to reliably
fetch all results for large queries is to set offset=0,
limit=<very_large_number> and fetch all results at once. This is less
desirable for the user as well as the site host than "paging through" large
queries by specifying a limit and incrementing the offset by the limit size for
every page queried. But limiting the offset in any way makes this preferred
scenario impossible.
The code responsible is the 'upperbound' setting for $params['offset'] in
SemanticMediaWiki/includes/SMW_QueryProcessor.php at line 601:
$params['offset'] = array(
'type' => 'integer',
'default' => 0,
'negatives' => false,
'upperbound' => 5000 // TODO: make setting
);
My guess is that the upperbound was intended for $params['limit'], but was
added to $params['offset'] by mistake.
The solution is not to make 'upperbound' configurable with a global variable as
the comment implies, but simply to remove this line altogether (see
attachment).
Web browser: ---
Bug ID: 49203
Summary: ask query offset has a hardcoded limit
Product: MediaWiki extensions
Version: master
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Unprioritized
Component: Semantic MediaWiki
Assignee: wikibugs-***@lists.wikimedia.org
Reporter: ***@gmail.com
CC: ***@gmail.com, ***@yahoo.com,
***@semantic-mediawiki.org, ***@gmail.com
Classification: Unclassified
Mobile Platform: ---
Created attachment 12471
--> https://bugzilla.wikimedia.org/attachment.cgi?id=12471&action=edit
SMWQueryProcessor without $params['offset']['upperbound'].
Running an ask query with an offset greater than 5000 returns the results from
the query with offset=0 instead. Because of this, the only way to reliably
fetch all results for large queries is to set offset=0,
limit=<very_large_number> and fetch all results at once. This is less
desirable for the user as well as the site host than "paging through" large
queries by specifying a limit and incrementing the offset by the limit size for
every page queried. But limiting the offset in any way makes this preferred
scenario impossible.
The code responsible is the 'upperbound' setting for $params['offset'] in
SemanticMediaWiki/includes/SMW_QueryProcessor.php at line 601:
$params['offset'] = array(
'type' => 'integer',
'default' => 0,
'negatives' => false,
'upperbound' => 5000 // TODO: make setting
);
My guess is that the upperbound was intended for $params['limit'], but was
added to $params['offset'] by mistake.
The solution is not to make 'upperbound' configurable with a global variable as
the comment implies, but simply to remove this line altogether (see
attachment).
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.