changeset 119:b5cdae35b1a4

Make MemTable use MemtableKey explicitly
author Lewin Bormann <lbo@spheniscida.de>
date Mon, 26 Dec 2016 10:17:14 +0000
parents c2539cd2d021
children 28bf33d01950
files src/memtable.rs
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/memtable.rs	Mon Dec 26 09:23:16 2016 +0000
+++ b/src/memtable.rs	Mon Dec 26 10:17:14 2016 +0000
@@ -1,10 +1,11 @@
 use std::cmp::Ordering;
 
-use key_types::{LookupKey, UserKey, InternalKey, parse_memtable_key, build_memtable_key};
+use key_types::{LookupKey, UserKey, InternalKey, MemtableKey, parse_memtable_key, build_memtable_key};
 use types::{ValueType, SequenceNumber, Status, LdbIterator, cmp};
 use skipmap::{SkipMap, SkipMapIter};
 
 /// Provides Insert/Get/Iterate, based on the SkipMap implementation.
+/// MemTable uses MemtableKeys internally, that is, it stores key and value in the [Skipmap] key.
 pub struct MemTable {
     map: SkipMap,
 }
@@ -27,7 +28,7 @@
         iter.seek(key.memtable_key());
 
         if let Some(e) = iter.current() {
-            let foundkey = e.0;
+            let foundkey: MemtableKey = e.0;
             let (lkeylen, lkeyoff, _, _, _) = parse_memtable_key(key.memtable_key());
             let (fkeylen, fkeyoff, tag, vallen, valoff) = parse_memtable_key(foundkey);