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, @"c:\EmailTest\DB"); db.startMaintThread(); EmailInjector injector = new EmailInjector(db, window); injector.parse_email_messages(); injector.indexer.find_email_test(); } else if (args[0].CompareTo("search") == 0) { LayerManager db = new LayerManager(InitMode.RESUME, @"c:\EmailTest\DB"); EmailInjector injector = new EmailInjector(db, window); window.debugDump(db); injector.indexer.find_email_test(); } else if (args[0].CompareTo("merge") == 0) { LayerManager db = new LayerManager(InitMode.RESUME, @"c:\EmailTest\DB"); 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, @"c:\EmailTest\DB"); 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); }