private void init() { #if USENOSQL string playerdbfile = Path.Combine(STOREPATH, PLAYER_DB); string campaigndbfile = Path.Combine(STOREPATH, CAMPAIGN_DB); m_playerDb = RaptorDB<string>.Open(playerdbfile, false); m_campaignDb = RaptorDB<string>.Open(campaigndbfile, true); if (m_campaignDb.Count() > 0) { for (int i = 0; i < m_campaignDb.Count(); i++) { string campaignStr = m_campaignDb.FetchRecordString(i); string campaignKey = campaignStr.Split('#')[0]; string dbfilepath = campaignStr.Split('#')[1]; CampaignDatabaseRaptorDb db = new CampaignDatabaseRaptorDb(); db.CampaignKey = campaignKey; db.StorePath = dbfilepath; db.init(); m_dictRunningCampaigns.Add(campaignKey, (ICampaignDatabase)db); } } #endif }
public static void Enumerate() { var db = new RaptorDB <Guid>("c:\\RaptorDbTest\\enumerate", true); Guid sk = Guid.NewGuid(); db.Set(sk, "find key"); for (int i = 0; i < 100000; i++) { db.Set(Guid.NewGuid(), "" + i); } int found = 0; foreach (var enu in db.Enumerate(sk)) { if (found == 0) { string str = db.FetchRecordString(enu.Value); if (str != "find key") { Console.WriteLine(str); Assert.Fail(); } } found++; } Console.WriteLine("Enumerate from key count = " + found); db.RemoveKey(sk); db.Shutdown(); }
public static void Duplicates_Set_and_Get() { var db = new RaptorDB <Guid>("c:\\RaptorDbTest\\duptestfetch", true); int guidcount = 1000; int dupcount = 100; var guids = new List <Guid>(); for (int i = 0; i < guidcount; i++) { guids.Add(Guid.NewGuid()); } foreach (Guid g in guids) { for (int i = 0; i < dupcount; i++) { string s = "" + g + " " + i; db.Set(g, Encoding.Unicode.GetBytes(s)); } } db.SaveIndex(); foreach (Guid g in guids) { int j = 0; foreach (int i in db.GetDuplicates(g)) { string s = db.FetchRecordString(i); if (s.StartsWith(g.ToString()) == false) { Console.WriteLine("guid not correct = " + g + " returned = " + s); } else { j++; } } if (j < dupcount - 1) { Console.WriteLine("" + g + " count = " + j); Assert.Fail(); } //else // Console.WriteLine("" + g + " = OK"); } Console.WriteLine("ALL OK"); db.Shutdown(); }