Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 public WriteBatch Put(string key, string value, System.Text.Encoding encoding)
 {
     Native.leveldb_writebatch_put(Handle, key, value, encoding);
     return(this);
 }
Example #5
0
 public WriteBatch Put(string key, string value)
 {
     Native.leveldb_writebatch_put(Handle, key, value);
     return(this);
 }
Example #6
0
 public WriteBatch Put(byte[] key, byte[] value)
 {
     Native.leveldb_writebatch_put(Handle, key, value);
     return(this);
 }