--- apachesolr/apachesolr.module	2009-01-08 23:32:13.000000000 +0100
+++ apachesolr.module	2009-01-09 15:07:51.000000000 +0100
@@ -156,6 +156,7 @@ function apachesolr_requirements($phase)
 function apachesolr_index_page() {
   try {
     $solr = apachesolr_get_solr();
+    $solr->clearCache();
      // Note: we use 2 since 1 fails on Ubuntu Hardy.
     $data = $solr->getLuke(2);
   }
@@ -324,8 +325,8 @@ function apachesolr_node_type($op, $info
  */
 function apachesolr_index_status($namespace) {
   extract(apachesolr_get_last_index($namespace));
-  $total = db_result(db_query('SELECT COUNT(*) FROM {node} WHERE status = 1'));
-  $remaining = db_result(db_query('SELECT COUNT(*) FROM {apachesolr_search_node} WHERE (changed > %d OR (changed = %d AND nid > %d)) AND status = 1', $last_change, $last_change, $last_nid));
+  $total = db_result(db_query(db_rewrite('SELECT COUNT(*) FROM {node} WHERE status = 1')));
+  $remaining = db_result(db_query(db_rewrite('SELECT COUNT(*) FROM {apachesolr_search_node} WHERE (changed > %d OR (changed = %d AND nid > %d)) AND status = 1'), $last_change, $last_change, $last_nid));
   return array('remaining' => $remaining, 'total' => $total);
 }
 
--- apachesolr/apachesolr_search.module	2008-12-31 20:14:40.000000000 +0100
+++ apachesolr_search.module	2009-01-07 16:48:20.000000000 +0100
@@ -172,7 +172,7 @@ function apachesolr_search_search($op = 
           $total = $data->index->numDocs;
         }
         else {
-          $total = db_result(db_query("SELECT COUNT(nid) FROM {node}"));
+          $total = db_result(db_query(db_rewrite_sql("SELECT COUNT(nid) FROM {node}")));
         }
         $date_settings = variable_get('apacehsolr_search_date_boost', '4:200.0');
         list($date_steepness, $date_boost) = explode(':', $date_settings);
