don't allow querying specific namespace if misermode is enabled
authorDomas Mituzas <midom@users.mediawiki.org>
Fri, 10 Jul 2009 13:55:48 +0000 (13:55 +0000)
committerDomas Mituzas <midom@users.mediawiki.org>
Fri, 10 Jul 2009 13:55:48 +0000 (13:55 +0000)
includes/api/ApiQueryCategoryMembers.php

index 8b6bd1d..4363776 100644 (file)
@@ -83,7 +83,12 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase {
                $this->addWhere('cl_from=page_id');
                $this->setContinuation($params['continue'], $params['dir']);
                $this->addWhereFld('cl_to', $categoryTitle->getDBkey());
-               $this->addWhereFld('page_namespace', $params['namespace']);
+               # Scanning large datasets for rare categories sucks, and I already told 
+               # how to have efficient subcategory access :-) ~~~~ (oh well, domas)
+               global $wgMiserMode;
+               if (!$wgMiserMode) { 
+                       $this->addWhereFld('page_namespace', $params['namespace']);
+               }
                if($params['sort'] == 'timestamp')
                        $this->addWhereRange('cl_timestamp', ($params['dir'] == 'asc' ? 'newer' : 'older'), $params['start'], $params['end']);
                else