Last modified: 2011-07-13 02:52:15 UTC
Provide a way to filter Special:NewPages to subpages of a given page. It could be useful for example to see new articles for deletion discussions and for other processes relying on subpages of a main page. There are also some projects heavily using subpages for content which could benefit from this. It can be only a url option if it can't be neatly included in the interface - we can always link to it.
If this were to be implemented, the only efficient way to do it would be by sorting by page name instead of by timestamp, which would be of limited use (although of course Newpages only has one entry for each page, so it's not that big a deal).
Why would sorting by page name be needed? A filter to consider only parts of all pages, in this case Subpages of a specific name, seems like a reasonable request.
(In reply to comment #2) > Why would sorting by page name be needed? A filter to consider only parts of > all pages, in this case Subpages of a specific name, seems like a reasonable > request. Sorting by page name is needed because that's the way how database indexing works. Doing a prefix filter on the page name while sorting by timestamp is guaranteed to be inefficient on large tables. It's impossible to add an index that will optimize that.
(In reply to comment #3) > Sorting by page name is needed because that's the way how database indexing > works. Doing a prefix filter on the page name while sorting by timestamp is > guaranteed to be inefficient on large tables. It's impossible to add an index > that will optimize that. Didn't think about that. So I assume what you mean is that a (MySQL) LIKE-Search on page_title when ordered by page_touched isn't an option?
(In reply to comment #4) > Didn't think about that. So I assume what you mean is that a (MySQL) > LIKE-Search on page_title when ordered by page_touched isn't an option? Assuming an index on (page_title, page_touched): (I don't believe such an index actually exists.) WHERE page_title = 'Foo' ORDER BY page_touched; --GOOD WHERE page_title LIKE 'Foo%' ORDER BY page_touched; --BAD WHERE page_title LIKE 'Foo%' ORDER BY page_title, page_touched; --GOOD
(In reply to comment #5) > Assuming an index on (page_title, page_touched): > (I don't believe such an index actually exists.) > > WHERE page_title = 'Foo' ORDER BY page_touched; --GOOD > WHERE page_title LIKE 'Foo%' ORDER BY page_touched; --BAD > WHERE page_title LIKE 'Foo%' ORDER BY page_title, page_touched; --GOOD There is only an index 'name_title' that is on page_namespace + page_title (only have 1.15.1 around right now). So no matter how we try, there is no way to make a well performing "Page starts with"-search ordered by last edit date?
(In reply to comment #6) > So no matter how we try, there is no way to make a well performing "Page starts > with"-search ordered by last edit date? No.