Пример #1
0
 internal override void DestroyUnmanaged()
 {
     if (this._handle != default(IntPtr))
     {
         LevelDBInterop.leveldb_close(this._handle);
     }
 }
Пример #2
0
        public void Repair()
        {
            LevelDBInterop.leveldb_close(Database);
            Database = IntPtr.Zero;

            var    options = LevelDBInterop.leveldb_options_create();
            IntPtr error;

            LevelDBInterop.leveldb_repair_db(options, DatabasePath, out error);
            LevelDBException.Check(error);
            LevelDBInterop.leveldb_options_destroy(options);
        }
Пример #3
0
 public void Dispose()
 {
     if (Database != IntPtr.Zero)
     {
         LevelDBInterop.leveldb_close(Database);
         Database = IntPtr.Zero;
     }
     if (Directory.Exists(DatabasePath))
     {
         Directory.Delete(DatabasePath, true);
     }
 }
Пример #4
0
        public void Reopen()
        {
            LevelDBInterop.leveldb_close(Database);
            Database = IntPtr.Zero;

            var    options = LevelDBInterop.leveldb_options_create();
            IntPtr error;

            Database = LevelDBInterop.leveldb_open(options, DatabasePath, out error);
            LevelDBException.Check(error);
            var readOptions = LevelDBInterop.leveldb_readoptions_create();

            this.InnerGet(readOptions, "key1");
            LevelDBInterop.leveldb_readoptions_destroy(readOptions);
        }
Пример #5
0
        public void Cache()
        {
            LevelDBInterop.leveldb_close(Database);
            Database = IntPtr.Zero;

            // open the DB with a cache that is not owned by LevelDB, then
            // close DB and then free the cache
            var options = LevelDBInterop.leveldb_options_create();
            var cache   = LevelDBInterop.leveldb_cache_create_lru((IntPtr)64);

            LevelDBInterop.leveldb_options_set_cache(options, cache);
            IntPtr error;

            Database = LevelDBInterop.leveldb_open(options, DatabasePath, out error);
            LevelDBException.Check(error);
            LevelDBInterop.leveldb_close(Database);
            Database = IntPtr.Zero;

            LevelDBInterop.leveldb_cache_destroy(cache);
            LevelDBInterop.leveldb_options_destroy(options);
        }