示例#1
0
 /// <exception cref="Db4objects.Db4o.Ext.OldFormatException"></exception>
 protected sealed override void OpenImpl()
 {
     CreateIdSystem();
     if (_memoryBin.Length() == 0)
     {
         ConfigureNewFile();
         CommitTransaction();
     }
     else
     {
         ReadThis();
     }
 }
示例#2
0
        public virtual void Test()
        {
            MemoryStorage          origStorage = new MemoryStorage();
            IEmbeddedConfiguration origConfig  = Config(origStorage);
            IObjectContainer       origDb      = Db4oEmbedded.OpenFile(origConfig, BinUri);

            origDb.Store(new MemoryBinIsReusableTestCase.Item(ItemName));
            origDb.Close();
            MemoryBin origBin = origStorage.Bin(BinUri);

            byte[] data = origBin.Data();
            Assert.AreEqual(data.Length, origBin.Length());
            MemoryBin     newBin     = new MemoryBin(data, new DoublingGrowthStrategy());
            MemoryStorage newStorage = new MemoryStorage();

            newStorage.Bin(BinUri, newBin);
            IObjectContainer newDb  = Db4oEmbedded.OpenFile(Config(newStorage), BinUri);
            IObjectSet       result = newDb.Query(typeof(MemoryBinIsReusableTestCase.Item));

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(ItemName, ((MemoryBinIsReusableTestCase.Item)result.Next())._name
                            );
            newDb.Close();
        }