- function getSQL( $offset, $limit ) {
- return "SELECT cur_title, LENGTH(cur_text) AS len FROM cur " .
- "WHERE cur_namespace=0 AND cur_is_redirect=0 ORDER BY len " .
- "LIMIT {$offset}, {$limit}";
+ function isSyndicated() {
+ return false;
+ }
+
+ function getSQL() {
+ $dbr = wfGetDB( DB_SLAVE );
+ $page = $dbr->tableName( 'page' );
+ $name = $dbr->addQuotes( $this->getName() );
+
+ $forceindex = $dbr->useIndexClause("page_len");
+ return
+ "SELECT $name as type,
+ page_namespace as namespace,
+ page_title as title,
+ page_len AS value
+ FROM $page $forceindex
+ WHERE page_namespace=".NS_MAIN." AND page_is_redirect=0";
+ }
+
+ function preprocessResults( &$db, &$res ) {
+ # There's no point doing a batch check if we aren't caching results;
+ # the page must exist for it to have been pulled out of the table
+ if( $this->isCached() ) {
+ $batch = new LinkBatch();
+ while( $row = $db->fetchObject( $res ) )
+ $batch->addObj( Title::makeTitleSafe( $row->namespace, $row->title ) );
+ $batch->execute();
+ if( $db->numRows( $res ) > 0 )
+ $db->dataSeek( $res, 0 );
+ }
+ }
+
+ function sortDescending() {
+ return false;