public static void do_test(DbgGUI window, string[] args) { if (args.Length < 1) { Console.WriteLine("Usage:\n index - clear the db and index email\n search - perform search tests"); Environment.Exit(1); } if (args[0].CompareTo("index") == 0) { LayerManager db = new LayerManager(InitMode.NEW_REGION, DB_PATH ); db.startMaintThread(); PsudoEmailInjector injector = new PsudoEmailInjector(db, window); injector.parse_email_messages(); injector.indexer.find_email_test(); } else if (args[0].CompareTo("search") == 0) { LayerManager db = new LayerManager(InitMode.RESUME, DB_PATH); PsudoEmailInjector injector = new PsudoEmailInjector(db, window); window.debugDump(db); injector.indexer.find_email_test(); } else if (args[0].CompareTo("merge") == 0) { LayerManager db = new LayerManager(InitMode.RESUME, DB_PATH); window.debugDump(db); // merge... for (int x = 0; x < 30; x++) { var mc = db.rangemapmgr.mergeManager.getBestCandidate(); window.debugDump(db, mc); if (mc == null) { Console.WriteLine("no more merge candidates."); break; } db.performMerge(mc); window.debugDump(db); } } else if (args[0].CompareTo("test") == 0) { LayerManager db = new LayerManager(InitMode.RESUME, DB_PATH); window.debugDump(db); var key1 = new RecordKey() .appendParsedKey(@".zdata/index/which/c:\EmailTest\Data\Sent:5441/10"); var key2 = new RecordKey() .appendParsedKey(@".zdata/index/zzn/c:\EmailTest\Data\saved_mail_2003:4962/385"); var segkey = new RecordKey() .appendParsedKey(".ROOT/GEN") .appendKeyPart(new RecordKeyType_Long(1)) .appendKeyPart(key1) .appendKeyPart(key2); var nextrow = db.FindNext(segkey, false); Console.WriteLine("next: {0}", nextrow); var exactRow = db.FindNext(nextrow.Key, true); Console.WriteLine("refind: {0}", exactRow); } Console.WriteLine("done...."); Environment.Exit(0); }