Switch to side-by-side view

--- a/src/rcldb/rclquery.cpp
+++ b/src/rcldb/rclquery.cpp
@@ -242,6 +242,8 @@
 // Mset size
 static const int qquantum = 30;
 
+// Get estimated result count for query. Xapian actually does most of
+// the search job in there, this can be long
 int Query::getResCnt()
 {
     if (ISNULL(m_nq) || !m_nq->enquire) {
@@ -249,24 +251,21 @@
 	return -1;
     }
     string ermsg;
+    int ret = -1;
     if (m_nq->mset.size() <= 0) {
+        Chrono chron;
 	try {
-	    m_nq->mset = m_nq->enquire->get_mset(0, qquantum, 
-						   0, m_nq->decider);
+	    m_nq->mset = m_nq->enquire->get_mset(0, qquantum,0, m_nq->decider);
+            ret = m_nq->mset.get_matches_lower_bound();
 	} catch (const Xapian::DatabaseModifiedError &error) {
 	    m_db->m_ndb->db.reopen();
-	    m_nq->mset = m_nq->enquire->get_mset(0, qquantum,
-						   0, m_nq->decider);
+	    m_nq->mset = m_nq->enquire->get_mset(0, qquantum,0, m_nq->decider);
+            ret = m_nq->mset.get_matches_lower_bound();
 	} XCATCHERROR(ermsg);
-	if (!ermsg.empty()) {
+        LOGDEB(("Query::getResCnt: %d mS\n", chron.millis()));
+	if (!ermsg.empty())
 	    LOGERR(("enquire->get_mset: exception: %s\n", ermsg.c_str()));
-	    return -1;
-	}
-    }
-    int ret = -1;
-    try {
-    ret = m_nq->mset.get_matches_lower_bound();
-    } catch (...) {}
+    }
     return ret;
 }
 
@@ -310,7 +309,7 @@
 		} catch (const Xapian::Error & error) {
 		  LOGERR(("enquire->get_mset: exception: %s\n", 
 			  error.get_msg().c_str()));
-		  abort();
+                  return false;
 		}
 
 		if (m_nq->mset.empty()) {
@@ -349,8 +348,8 @@
 
 	} catch (const Xapian::Error & error) {
 	  LOGERR(("enquire->get_mset: exception: %s\n", 
-		  error.get_msg().c_str()));
-	  abort();
+                  error.get_msg().c_str()));
+          return false;
 	}
 	if (m_nq->mset.empty())
 	    return false;
@@ -359,9 +358,8 @@
     }
 
     LOGDEB1(("Query::getDoc: Qry [%s] win [%d-%d] Estimated results: %d",
-	     m_nq->query.get_description().c_str(), 
-	     first, last,
-	     m_nq->mset.get_matches_lower_bound()));
+            m_nq->query.get_description().c_str(), 
+            first, last, m_nq->mset.get_matches_lower_bound()));
 
     Xapian::Document xdoc = m_nq->mset[xapi-first].get_document();
     Xapian::docid docid = *(m_nq->mset[xapi-first]);