public void WriteBatch() { var writeOptions = Native.leveldb_writeoptions_create(); Native.leveldb_put(Database, writeOptions, "key1", "value1"); var writeBatch = Native.leveldb_writebatch_create(); Native.leveldb_writebatch_delete(writeBatch, "key1"); Native.leveldb_writebatch_put(writeBatch, "key2", "value2"); Native.leveldb_write(Database, writeOptions, writeBatch); var readOptions = Native.leveldb_readoptions_create(); var value1 = Native.leveldb_get(Database, readOptions, "key1"); Assert.IsNull(value1); var value2 = Native.leveldb_get(Database, readOptions, "key2"); Assert.AreEqual("value2", value2); Native.leveldb_writebatch_delete(writeBatch, "key2"); Native.leveldb_writebatch_clear(writeBatch); Native.leveldb_write(Database, writeOptions, writeBatch); value2 = Native.leveldb_get(Database, readOptions, "key2"); Assert.AreEqual("value2", value2); Native.leveldb_writebatch_destroy(writeBatch); Native.leveldb_writeoptions_destroy(writeOptions); Native.leveldb_writeoptions_destroy(readOptions); }
public static void leveldb_writebatch_put(IntPtr writeBatch, byte[] key, byte[] value) { var keyLength = GetArrayLength(key); var valueLength = GetArrayLength(value); Native.leveldb_writebatch_put(writeBatch, key, keyLength, value, valueLength); }
public static void leveldb_writebatch_put(IntPtr writeBatch, string key, string value) { var keyLength = GetStringLength(key); var valueLength = GetStringLength(value); Native.leveldb_writebatch_put(writeBatch, key, keyLength, value, valueLength); }
public WriteBatch Put(string key, string value, System.Text.Encoding encoding) { Native.leveldb_writebatch_put(Handle, key, value, encoding); return(this); }
public WriteBatch Put(string key, string value) { Native.leveldb_writebatch_put(Handle, key, value); return(this); }
public WriteBatch Put(byte[] key, byte[] value) { Native.leveldb_writebatch_put(Handle, key, value); return(this); }