Allow for sorting Special:UnreviewedPages by time since creation.
Requested on pl.wikipedia: https://pl.wikipedia.org/wiki/Wikipedia:Kawiarenka/Kwestie_techniczne#Nieprzejrzane_strony
matmarex | |
Jan 11 2013, 1:59 PM |
F36822740: Screenshot Capture - 2023-02-12 - 11-13-29.png | |
Feb 12 2023, 7:29 PM |
Allow for sorting Special:UnreviewedPages by time since creation.
Requested on pl.wikipedia: https://pl.wikipedia.org/wiki/Wikipedia:Kawiarenka/Kwestie_techniczne#Nieprzejrzane_strony
This request makes a lot of sense. I would even say that sorting by date is more relevant that sorting alphabetically. Is it EASY enough to deserve such keyword?
It seems rather hard. It queries the page table with left join on flaggedpages to filter out pages which have a reviewed version. page has a lexicographic index but no time-based index; doesn't even contain that information in an unindexed way. You'd have to rely on the page creation log (which is unreliable in many ways) or walk the revision table's (rev_page, rev_id) index. And it uses the querycache table (in a custom hacky way as it's not actually a QueryPage subclass) so you would need to cache the two sorting modes separately. And the code is of course 100% undocumented.
...although maybe for querycache it's fine to just do a filesort on the page table (filtered by namespace)? It's a few million rows at most.
It seems like this is fixed:
I think what happened is that the code was inconsistent: UnreviewedPages / UnreviewedPagesPager have a live version and a less performance-intense querycache-based version, the live version sets $this->mIndexField = 'page_title';, the querycache-based version sets $this->mIndexField = 'qc_value'; - the querycache value is the page ID, which is effectively sorted by time. rEFLR74c2ec41b161: Replace wfQueriesMustScale() and generalQueryOK() with MiserMode changed the logic of choosing the cached view, which previously happened if a significant fraction of the wiki's articles were unreviewed (typically false as the point of FlagRev-based patrolling workflows is to keep these low), now it happens on miser mode (ie. always on Wikimedia wikis).