示例#1
0
        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

        }
示例#2
0
        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();
        }
示例#3
0
        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();
        }