Mercurial > lbo > hg > leveldb-rs
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);