Last modified: 2011-03-13 18:06:44 UTC

Wikimedia Bugzilla is closed!

Wikimedia has migrated from Bugzilla to Phabricator. Bug reports should be created and updated in Wikimedia Phabricator instead. Please create an account in Phabricator and add your Bugzilla email address to it.
Wikimedia Bugzilla is read-only. If you try to edit or create any bug report in Bugzilla you will be shown an intentional error message.
In order to access the Phabricator task corresponding to a Bugzilla report, just remove "static-" from its URL.
You could still run searches in Bugzilla or access your list of votes but bug reports will obviously not be up-to-date in Bugzilla.
Bug 13871 - cmstart as continue param when muliple categories have same cl_timestamp
cmstart as continue param when muliple categories have same cl_timestamp
Product: MediaWiki
Classification: Unclassified
API (Other open bugs)
All All
: Lowest minor (vote)
: ---
Assigned To: Roan Kattouw
Depends on:
  Show dependency treegraph
Reported: 2008-04-28 21:16 UTC by Daniel Cannon (AmiDaniel)
Modified: 2011-03-13 18:06 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Description Daniel Cannon (AmiDaniel) 2008-04-28 21:16:39 UTC
There are some problems with using cmstart as the continue parameter for the categorymembers query when multiple category links share the same cl_timestamp, as is illustrated in the above link. If, for instance, you have three pages, Foo, Bar, and Baz, all added to the same category, Gah, at the same time, then querying the category members of that category with a limit of 2 and sorting by timestamp will give you "Foo" and "Bar" with a query-continue parameter cmstart equal to the timestamp of Baz, which happens also to be the timestamp of Baz. So you then query again using that cmstart and get back "Foo" and "Bar" with the same cmstart as the query-continue.

Possible fix would be to use cmcontinue as the continue parameter, with both a timestamp and a page id, the cl_from of the last (limit + 1) row of the previous query.
Comment 1 Roan Kattouw 2008-04-28 22:52:00 UTC
In practice, you wouldn't be using a limit as ridiculously low as 2, but one in the hundreds range (or thousands, if you're a bot). The odds of hundreds of pages having the exact same category timestamp are close to zero. We page a lot of stuff by timestamp (not just the API, the UI as well), and getting more than two things (revisions, log events, whatever) with the same timestamp hardly ever happens. WONTFIXing this, please REOPEN if you have a valid argument (such as a reason why you absolutely need to use cmlimit=2)
Comment 2 Adrian Lang 2008-04-29 04:25:14 UTC
actually, the only usage I know about is a function of mine which navigates from one page in a category to the next one. I exclusively use cmlimit=1 for this issue. Take a look at function nextItem (category, namespace) in
Comment 3 Roan Kattouw 2008-04-29 08:24:28 UTC
Then you may want to sort by sortkey, not timestamp.

Note You need to log in before you can comment on or make changes to this bug.