protected function getQueryInfo($randstr) { $query = parent::getQueryInfo($randstr); $query['tables'][] = 'categorylinks'; unset($query['conds']['page_namespace']); array_merge($query['conds'], array('page_namespace != ' . NS_CATEGORY)); $query['conds']['cl_to'] = $this->category; // FIXME: FORCE INDEX gets added in wrong place, goes after table join, should be before // bug 27081 unset($query['options']['USE INDEX']); $query['options']['USE INDEX'] = array('page' => 'page_random'); $query['join_conds'] = array('categorylinks' => array('JOIN', array('page_id=cl_from'))); return $query; }