public Store(string path) { this.db = DB.Open(path, new Options { CreateIfMissing = true, FilterPolicy = Native.leveldb_filterpolicy_create_bloom(15) }); byte[] value = db.Get(ReadOptions.Default, LHelper.CreateKey(SYS_Version)); if (value != null && Version.TryParse(Encoding.ASCII.GetString(value), out Version version) && version >= Version.Parse("3.0.0")) { return; } WriteBatch batch = new WriteBatch(); if (value != null) { // Clean all entries only if the version are different ReadOptions options = new ReadOptions { FillCache = false }; using (Iterator it = db.NewIterator(options)) { for (it.SeekToFirst(); it.Valid(); it.Next()) { batch.Delete(it.Key()); } } } db.Put(WriteOptions.Default, LHelper.CreateKey(SYS_Version), Encoding.ASCII.GetBytes(Assembly.GetExecutingAssembly().GetName().Version.ToString())); db.Write(WriteOptions.Default, batch); }
public void Delete(byte table, byte[] key) { db.Delete(WriteOptions.Default, LHelper.CreateKey(table, key)); }
public void Delete(byte table, byte[] key) { batch.Delete(LHelper.CreateKey(table, key)); }