Switch to side-by-side view

--- a/src/rcldb/rcldb_p.h
+++ b/src/rcldb/rcldb_p.h
@@ -30,6 +30,20 @@
  } catch (...) {				   \
     MSG = "Caught unknown xapian exception";	   \
  } 
+
+#define XAPTRY(STMTTOTRY, XAPDB, ERSTR)       \
+    for (int tries = 0; tries < 2; tries++) { \
+	try {                                 \
+            STMTTOTRY;                        \
+            ERSTR.erase();                    \
+            break;                            \
+	} catch (const Xapian::DatabaseModifiedError &e) { \
+            ERSTR = e.get_msg();                           \
+	    XAPDB.reopen();                                \
+            continue;                                      \
+	} XCATCHERROR(ERSTR);                              \
+        break;                                             \
+    }
 
 class Query;