Exemplo n.º 1
0
        public void Setup()
        {
            var           bogus = new Bogus.Randomizer();
            BufferSegment headerBufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            var           headerPage          = HeaderPage.CreateHeaderPage(headerBufferSegment);
            BufferSegment bufferSegment       = new BufferSegment(Constants.PAGE_SIZE);
            PageHeader    header = new PageHeader(1, PageType.Data);

            header.ToBuffer(bufferSegment.Span, 0);
            File.Delete(@"C:\Neuer Ordner\test.db");
            PageService pageService = new PageService(FileDiskService.Create(new DatatentSettings()
            {
                InMemory = false, Path = @"C:\Neuer Ordner\test.db"
            }));

            _dataService = new DataService(new NopCompressionService(), pageService);

            _objects = new List <TestObject>(50);
            foreach (var i in Enumerable.Range(0, 50))
            {
                TestObject testObject = new TestObject();
                testObject.IntProp    = bogus.Int();
                testObject.StringProp = bogus.String2(1000);
                _objects.Add(testObject);
            }
        }
Exemplo n.º 2
0
        public LiteDB_Test(int count, string password, LiteDB.FileOptions options)
        {
            _count    = count;
            _filename = "dblite-" + Guid.NewGuid().ToString("n") + ".db";

            var disk = new FileDiskService(_filename, options);

            _db = new LiteEngine(disk, password);
        }
Exemplo n.º 3
0
        public LiteDB_Test2(int count, string password, LiteDB.FileOptions options)
        {
            _count    = count;
            _filename = "dblite-" + Guid.NewGuid().ToString("n") + ".db";

            var disk = new FileDiskService(_filename, options);

            _db = new LiteDatabase(disk);

            _collection = _db.GetCollection <TestDoc>();
        }
Exemplo n.º 4
0
        public void Init()
        {
            File.Delete(filename);

            var disk = new FileDiskService(filename, new FileOptions
            {
                FileMode = FileMode.Exclusive,
                Journal  = false
            });

            _engine = new LiteEngine(disk, cacheSize: 50000);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Initialize database reader with database stream file and password
        /// </summary>
        public bool Initialize(Stream stream, string password)
        {
            // test if current stream is V6
            if (stream.ReadByte(25 + 27) != 6) return false;

            _disk = new FileDiskService(stream, password);
            _pager = new PageService(_disk);
            _indexer = new IndexService(_pager);
            _data = new DataService(_pager);
            _collections = new CollectionService(_pager, _indexer, _data);

            return true;
        }
Exemplo n.º 6
0
Arquivo: Env.cs Projeto: apkd/LiteDB
        public LiteEngine CreateEngine(DataAccess access)
        {
            if (this.Filename == null) throw new ShellExpcetion("No database");

            var disk = new FileDiskService(this.Filename,
                new FileOptions
                {
                    ReadOnly = access == DataAccess.Read,
                    Journal = this.Journal
                });

            return new LiteEngine(disk, password: this.Password, log: this.Log);
        }
Exemplo n.º 7
0
 private void Cache(IEnumerable <Scrobble> scrobbles)
 {
     using (var disk = new FileDiskService(DatabasePath, new FileOptions {
         FileMode = FileMode.Exclusive
     }))
         using (var db = new LiteDatabase(disk))
         {
             var scrobblesCollection = db.GetCollection <Scrobble>("scrobbles");
             foreach (var scrobble in scrobbles)
             {
                 scrobblesCollection.Insert(scrobble);
             }
         }
 }
Exemplo n.º 8
0
 public override Task <int> GetCachedCountAsync()
 {
     return(Task.Run(() =>
     {
         using (var disk = new FileDiskService(DatabasePath, new FileOptions {
             FileMode = FileMode.Exclusive
         }))
             using (var db = new LiteDatabase(disk))
             {
                 var scrobblesCollection = db.GetCollection <Scrobble>("scrobbles");
                 return scrobblesCollection.Count();
             }
     }));
 }
Exemplo n.º 9
0
        public LiteEngine CreateEngine(DataAccess access)
        {
            if (this.Filename == null)
            {
                throw new ShellExpcetion("No database");
            }

            var disk = new FileDiskService(this.Filename,
                                           new FileOptions
            {
                FileMode = FileMode.Shared,
                Journal  = this.Journal
            });

            return(new LiteEngine(disk, password: this.Password, log: this.Log));
        }
Exemplo n.º 10
0
 public override Task RemoveFromCacheAsync(ICollection <Scrobble> scrobbles)
 {
     return(Task.Run(() =>
     {
         using (var disk = new FileDiskService(DatabasePath, new FileOptions {
             FileMode = FileMode.Exclusive
         }))
             using (var db = new LiteDatabase(disk))
             {
                 var scrobblesCollection = db.GetCollection <Scrobble>("scrobbles");
                 foreach (var scrobble in scrobbles)
                 {
                     scrobblesCollection.Delete(t => t.Id == scrobble.Id);
                 }
             }
     }));
 }
Exemplo n.º 11
0
        public override Task <IEnumerable <Scrobble> > GetCachedAsync()
        {
            using (var disk = new FileDiskService(DatabasePath, new FileOptions {
                FileMode = FileMode.Exclusive
            }))
                using (var db = new LiteDatabase(disk))
                {
                    return(Task.Run(() =>
                    {
                        var scrobbles = db.GetCollection <Scrobble>("scrobbles");
                        if (scrobbles.Count() <= 0)
                        {
                            return Enumerable.Empty <Scrobble>();
                        }

                        var cached = scrobbles.FindAll();//.Find(Query.All());
                        return cached ?? Enumerable.Empty <Scrobble>();
                    }));
                }
        }
Exemplo n.º 12
0
        public override Task <IEnumerable <Scrobble> > GetCachedAsync()
        {
            var disk = new FileDiskService(DatabasePath, new FileOptions()
            {
                FileMode = FileMode.Exclusive
            });

            using (var db = new LiteDatabase(disk))
            {
                var scrobbles = db.GetCollection <Scrobble>("scrobbles");
                if (scrobbles.Count() <= 0)
                {
                    return(Task.FromResult(Enumerable.Empty <Scrobble>()));
                }

                var cached = scrobbles.Find(Query.All());
                db.Dispose();

                return(Task.FromResult(cached));
            }
        }
Exemplo n.º 13
0
        static LiteEngine InitDB()
        {
            var disk = new FileDiskService(filename, true);

            return(new LiteEngine(disk, null, null, 5000, log));
        }