internal override void DestroyUnmanaged() { if (this._handle != default(IntPtr)) { LevelDBInterop.leveldb_close(this._handle); } }
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); }
public void Dispose() { if (Database != IntPtr.Zero) { LevelDBInterop.leveldb_close(Database); Database = IntPtr.Zero; } if (Directory.Exists(DatabasePath)) { Directory.Delete(DatabasePath, true); } }
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); }
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); }